for /f "tokens=2 delims==" %%i in (1.txt) do if exist %%i echo %%i else echo 内容为空
还有很多种方法来判定空格的存在 不知道你具体要求什么 有疑问请追加
批处理中如何判断参数中含有某些字符串?,批处理参数
批处理中如何判断参数中含有某些字符串?
一般情况判断完全匹配的时候用==
复制代码 代码如下:
@echo off
if "%1"=="abc" @echo OK
但是部分匹配怎么写呢?比如判断参数中前三个字符是"abc"时
复制代码 代码如下:
@echo off
echo %1|findstr "^abc" >nul
echo %errorlevel%
测试结果如下:
C:\>test xixi
1
C:\>test
1
C:\>test abcd
0
C:\>test xabcd
1
非常感谢,但是这样怎么实现if else的效果呢?
比如
if "%1"含有"abc" @echo OK
if "%1"含有"def" @echo NG
复制代码 代码如下:
@echo off
echo %1|findstr "^abc" >nul
if %errorlevel% equ 0 (
echo ok
) else (
echo not ok
)
BAT批处理,怎判断变量中,是否包含了指定的字符串?
@echo off
set "变量1=abcdefghijklmnopq"
set 返回代码=
echo %变量1%|findstr /c:"abc">nul 2>nul&&set 返回代码=true||set 返回代码=false
在dos批处理中,怎判断一个字符串里是否含有一个特定字符?
echo abcdefghi | find "bcd" && echo 有bcd关键字符
一般要再套一层循环 即外层以空分隔内层以等号分隔
@echo off
set a=
if "%a%"=="" echo 为空
pause