.bat 在1.txt中一行一行查找 deivce,如果第一行有List of devices attached继续查找下一行,在下一行中如果查找到device 就显示成功
时间: 2024-04-08 19:35:24 浏览: 28
你可以使用以下批处理脚本来逐行查找文件 `1.txt` 中的内容,并根据条件显示成功信息:
```bat
@echo off
setlocal enabledelayedexpansion
REM 设置初始状态
set foundList=0
set foundDevice=0
REM 逐行读取文件
for /f "delims=" %%i in (1.txt) do (
REM 判断是否找到 "List of devices attached"
echo %%i | findstr /C:"List of devices attached" > nul
if !errorlevel! equ 0 (
set foundList=1
)
REM 判断是否找到 "device"
echo %%i | findstr /C:"device" > nul
if !errorlevel! equ 0 (
set foundDevice=1
)
REM 如果已经找到 "List of devices attached",并且在下一行找到了 "device",显示成功信息并退出循环
if !foundList! equ 1 (
if !foundDevice! equ 1 (
echo Success: Found device!
exit /b
)
)
)
REM 如果没有找到 "List of devices attached" 或者没有在下一行找到 "device",显示失败信息
echo Error: Device not found.
exit /b
```
在上面的示例中,我们使用 `for /f` 命令逐行读取文件 `1.txt` 的内容。然后,我们使用 `findstr` 命令查找每一行是否包含指定的字符串。
如果在某一行中找到了 "List of devices attached",我们将变量 `foundList` 设置为 1。如果在下一行中找到了 "device",我们将变量 `foundDevice` 设置为 1。
最后,我们在循环结束后检查变量的值。如果 `foundList` 和 `foundDevice` 均为 1,说明在文件中找到了符合条件的内容,我们显示成功信息并退出循环。否则,我们显示失败信息。
请确保将文件名 `1.txt` 替换为你要查找的文件名,并确保文件存在于脚本所在的目录中。另外,如果文件中的内容有多行,脚本将会继续查找直到文件末尾。