我有这个批处理脚本,但它适用于少数文件,有时不适用。我不明白错误在哪里。有什么方法可以测试tehscript在所有文件上运行。
@echo off&cls
setlocal EnableDelayedExpansion
for /f "tokens=1-4 delims=_." %%a in ('dir /b /a-d *.JPG') do (
echo %%a_%%b_%%c.%%d
set $Char=%%b
set $CharF=!$Char:~0,4!-!$Char:~4,2!-!$Char:~6,2!_!$Char:~8,2!-!$Char:~10,2!-!$Char:~12,2!
echo !$CharF!
ren %%a_%%b_%%c.%%d %%a_%%c_!$CharF!.%%d
)
档案
NoName_20140603133008976_DONCASTER.jpg
NoName_20140603132507734_DONCASTER.jpg
答案 0 :(得分:0)
您发布的脚本运行正常,但只是按照发布的示例数据进行操作,如果仔细观察,会发现存在两个重复的文件名,如下所示
NoName_20140603124452955_DONCASTER
NoName_20140603131541932_DONCASTER
您的脚本将无法执行重命名操作A duplicate file name exists
,因为这些文件是重复的,并且您抱怨说的是script won't rename them
。
希望这是有道理的。