【发布时间】:2014-01-16 06:07:42
【问题描述】:
我想重命名一系列 .jpg 但我想在文件名末尾附加字符串。请帮助我如何实现这一点,因为我是批处理文件编码的新手。
一系列 jpg 文件 - CurDt_S1、CurDt_S2、CurDt_S3 等。直到 S20。
我想将 CurDt_S1 替换为 CurDt_1_S1 为 - CurDt_1_S1、CurDt_1_S2、CurDt_1_S3 直到 S20。
这是我正在使用的代码 -
setlocal enabledelayedexpansion
set str=_1
for %%a in (CurDt_S*.jpg) do (
set oldName=%%a
set newName=oldname+str
call :Action
echo.
echo back in For loop
)
echo.
echo For loop completed
echo !oldName!
echo !newName!
endlocal
goto:eof
:Action
echo.
echo start of Action loop
echo !oldName!
echo !newName!
ren "!oldName!" "!newName!"
echo end of Action loop
谢谢, 斯内哈
【问题讨论】:
-
正确的标记(使用的语言)会让你更快地获得帮助..
-
谢谢大家。最简单的方法对我有用。但是现在,我想对所有文件进行重命名。示例 - CurDt_S1 wud 变为 CurDt_1_S1,CurDt_1_S1 wud 变为 CurDt_2_S1 等,并且 S* 值 wud 从 1 到 20 不等。我坚持使用粗体突出显示的 for 循环部分。 set i=1 for %%f in ("C:\Users\341256\Documents\batchfile\CurDt_3_S*.jpg") do call :renameit "%%f" goto done pause :renameit ren CurDt_3_S%i%.jpg CurDt_4_S%i%.jpg ren CurDt_2_S%i%.jpg CurDt_3_S%i%.jpg ren CurDt_1_S%i%.jpg CurDt_2_S%i%.jpg ren CurDt_S%i%.jpg CurDt_1_S%i%。 jpg set /A i+=1 :done pause
-
谁能建议我使用的代码是否正确且好用?
标签: loops batch-file for-loop