批处理怎么用find命令做判断?

发布网友 发布时间:2022-02-26 10:29

我来回答

6个回答

热心网友 时间:2022-02-26 11:59

用%errorlevel%来判断,errorlevel的值是上一条命令的返回值。

这里用find的话,则:

%errorlevel%为0的时候,表示find找到字符串

%errorlevel%为1的是偶,表示find找不到字符串


假设1.txt为目标文件:

@echo off
find "run" 1.txt >nul
if "%errorlevel%"=="0" (
echo Running c:\run.exe
) else (
echo No Run
)
pause

热心网友 时间:2022-02-26 13:17

@echo off
::假设文本名称为a.txt,则:
>nul find "run" a.txt&&start "" "c:\run.exe"||echo no run

热心网友 时间:2022-02-26 14:51

后面加管道符号&&、|| 就可以进行判断了。返回值%errorlevel%也可以,不过find的返回值不稳定,不如管道符号好用。

热心网友 时间:2022-02-26 16:43

代码改成这样才可以的:@echo off
set flag=
for /f %%i in ('findstr /i "run" test.txt') do set flag=1
if not defined flag (echo no run &pause&exit) else (echo run &pause) 这是我的回答,谢谢采纳!

热心网友 时间:2022-02-26 18:51

@echo off
for /f %%i in ('find /i "run" test.txt') do set flag=1
if not defined flag echo no run&&pause&&exit
start c:\run.exe

热心网友 时间:2022-02-26 21:15

@echo offfor /f %%i ('type a.txt ^|find "run"') do set ok=%%iif not defined ok echo no runpause>nul

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com