运行.bat文件后,它将立即关闭

时间:2019-02-01 11:45:58

标签: batch-file

运行下面的代码后,我的.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

有人知道为什么吗?

1 个答案:

答案 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