gpt4 book ai didi

batch-file - 替换 FOR 循环中的子字符串

转载 作者:行者123 更新时间:2023-12-02 04:03:33 25 4
gpt4 key购买 nike

我想要特定的字符串稍后路径,

set PROJECT_FOLDER_PATH=E:\aaa\bbb\cccc
FOR /f %%i IN ('dir /b /s %PROJECT_FOLDER_PATH%\src\*.c') DO echo %%i:bbb\=%

预期结果:cccc\src\test.c

但当前结果:E:\aaa\bbb\cccc\src\test.c:bbb\=

请帮帮我

最佳答案

您不能在参数样式变量(如 %i)上使用替换语法。首先使用 set 将值存储到普通变量。

setlocal EnableDelayedExpansion

set PROJECT_FOLDER_PATH=E:\aaa\bbb\cccc
FOR /f %%i IN ('dir /b /s %PROJECT_FOLDER_PATH%\src\*.c') DO (
set TMP_PATH=%%i
echo !TMP_PATH:bbb\=!
)

我们需要Delayed expansion变量以在同一循环中设置和读取变量。否则,echo 命令中的变量将在进入循环之前展开。

关于batch-file - 替换 FOR 循环中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757840/

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