批处理能不能在文件内使用 if exist指令?!!

来源:百度知道 编辑:UC知道 时间:2024/05/09 20:01:15
就是如果文本内有我给的指定几个字 就goto到别的地方
可以吗?

if exist只能判定文件是否存在
要检测文件里有没有指定字符串
1.用for语句读文件的每一行,然后逐行判定
2.用find /c "字符串" "文件名",可以得到指定文件里指定字符串的个数
如果为0就说明没有,不为0说明有
然后用for命令将其赋给一个变量
比如
for /f "delims=3" %%a in ('find /i /c "haha" "c:\target.txt"') do set StrExist=%%a
/i代表不分大小写,"delims=3代表获取find输出的第三行
因为find输出的形式是
------- <文件名> 找到的行数

file.txt内容为以下内容
关机

::批处理读取方法
@echo off
for /f %%i in (file.tst) do goto %%i
exit /b
:关机
shutdown -s -t 1000
exit /b
exit /b
:取消关机
shutdown -a
exit /b