gpt4 book ai didi

windows - 如何在循环中获取局部变量的子字符串?

转载 作者:可可西里 更新时间:2023-11-01 13:55:00 27 4
gpt4 key购买 nike

我想写一个脚本来获取目录中的所有文件名,并排除以 all 结尾的文件名。

我想出了下面的脚本,但它不起作用,有人能帮我吗?

for /R "%SOME_DIRECTORY%" %%f in (*.testcase) do (
set CURRENT_TESTCASE=%%~nf
if not %CURRENT_TESTCASE:~-3%==all (
echo %%~nf >> "%FILELIST%"
)
)

最佳答案

CURRENT_TESTCASE 变量在执行循环体之前进行评估。 (这就是命令处理器处理包含括号的复合命令的方式。)

为了防止过早评估变量,您需要启用 delayed expansion本地变量并稍微更改语法。方法如下:

for /R "%SOME_DIRECTORY%" %%f in (*.testcase) do (
set CURRENT_TESTCASE=%%~nf
<b>setlocal EnableDelayedExpansion</b>
if not <b>!</b>CURRENT_TESTCASE:~-3<b>!</b>==all (
echo %%~nf >> "%FILELIST%"
)
<b>endlocal</b>
)

关于windows - 如何在循环中获取局部变量的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5752405/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com