作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要特定的字符串稍后路径,
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/
我是一名优秀的程序员,十分优秀!