运行下面的代码后,我的.bat文件立即关闭
@echo off
FOR /F "tokens=*" %%G IN ('dir /b | findstr /r "test.*.apk"') DO set var=%%G
echo %var%
cmd /k
但是,如果我运行的版本略有修改却没有匹配的正则表达式,则效果很好
@echo off
FOR /F "tokens=*" %%G IN ('dir /b /s "test-20190201.apk"') DO set var=%%G
echo %var%
cmd /k
有人知道为什么吗?
答案 0 :(得分:1)
您需要逃脱管道:
@echo off
FOR /F "tokens=*" %%G IN ('dir /b ^| findstr /r "test.*.apk"') DO set var=%%G
echo %var%
cmd /k
否则,您将破坏FOR
解析器,因为执行管道的优先级高于FOR