我是初学者,我的任务与重命名文件夹中的文件有关,首先这是我的一段代码:-
setlocal enabledelayedexpansion
set tempLogDate=0
set g=0
for /r %targetStore% %%i IN (*2013*.*) do (
set tempLogDate=9
set g=!g:%tempLogDate%=!
)
问题是变量 %tempLogDate% 值是 0 而不是 9,我知道我需要使用变量扩展(我有),但我无法替换代码“set g=!g:%tempLogDate%.rar =!”到“set g=!g:!tempLogDate!.rar=!”,我尝试转义字符但没有结果,请大家帮助我..提前致谢
最佳答案
请查找延迟扩展
、setlocal/?
和endlocal/?
。示例:
@ECHO OFF &setlocal enabledelayedexpansion
set "tempLogDate=0"
set "g=0"
for /r %targetStore% %%i IN (*2013*.*) do (
set "tempLogDate=9"
CALL SET "g=%%g:!tempLogDate!=%%"
)
关于string - 批量扩展变量不能在子字符串替换函数中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17649059/