eri*_*223 4 windows batch-file
我想编写一个脚本来获取目录中的所有文件名,并且还排除文件名以all结尾.
我想出了下面的脚本,但它不起作用,任何人都可以帮助我吗?
for /R "%SOME_DIRECTORY%" %%f in (*.testcase) do (
set CURRENT_TESTCASE=%%~nf
if not %CURRENT_TESTCASE:~-3%==all (
echo %%~nf >> "%FILELIST%"
)
)
Run Code Online (Sandbox Code Playgroud)
在CURRENT_TESTCASE
执行循环体之前变量进行评估.(这就是命令处理器处理包含parantheses的复合命令的方式.)
要防止变量过早被评估,您需要在本地启用变量的延迟扩展并稍微更改语法.这是如何做:
for /R "%SOME_DIRECTORY%" %%f in (*.testcase) do (
set CURRENT_TESTCASE=%%~nf
setlocal EnableDelayedExpansion
if not !CURRENT_TESTCASE:~-3!==all (
echo %%~nf >> "%FILELIST%"
)
endlocal
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4930 次 |
最近记录: |