首页 > 解决方案 > 运行 .bat 文件后,立即关闭

问题描述

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

有谁知道为什么?

标签: batch-file

解决方案


你需要逃离管道:

@echo off
FOR /F "tokens=*" %%G IN ('dir /b ^| findstr /r "test.*.apk"') DO set var=%%G
echo %var%
cmd /k

否则你会破坏FOR解析器,因为管道执行的优先级高于FOR


推荐阅读