有这样的列表文件:list.txt
E4333A0ED8189CD2A35CF9F5E3CE4E4C E:\!MD5-Test\collection\V\xgt9h1.dll
FE4E944898E2D8F54C44EC5469AF21FE E:\!MD5-Test\collection\V\zxdoor0.dll
6A69C2CF90D56940CF8C44FD2AFA9109 E:\!MD5-Test\collection\V\yywf\ccaj.ini
69CC5AC465F4C973A5360C8403399193 E:\!MD5-Test\collection\V\yywf\eecl.dll
前面是文件md5,后面是全路经文件名(路径深度不定)。
要将所列文件名改为:md5(原文件)。
坛子上查了若干贴,制作如下:
for /f "tokens=1*" %%a in (list.txt) do (
set "patch1=%%b"
call :GetFdName "%%b"
ren %%patch1 %%a(%%b)
)
:GetFdName
for /f "delims=\ tokens=1,*" %%i in ("%~1") do (
if "%%j"=="" echo %%i & goto :eof
call :GetFdName "%%j"
)
目前总是变量pathch1的值不对,patch1是临时存放全路经文件名的。不知哪里错误,可能是低级错误。有劳哪位帮忙看看!
[ Last edited by lsh1611 on 2007-11-1 at 05:26 PM ]
E4333A0ED8189CD2A35CF9F5E3CE4E4C E:\!MD5-Test\collection\V\xgt9h1.dll
FE4E944898E2D8F54C44EC5469AF21FE E:\!MD5-Test\collection\V\zxdoor0.dll
6A69C2CF90D56940CF8C44FD2AFA9109 E:\!MD5-Test\collection\V\yywf\ccaj.ini
69CC5AC465F4C973A5360C8403399193 E:\!MD5-Test\collection\V\yywf\eecl.dll
前面是文件md5,后面是全路经文件名(路径深度不定)。
要将所列文件名改为:md5(原文件)。
坛子上查了若干贴,制作如下:
for /f "tokens=1*" %%a in (list.txt) do (
set "patch1=%%b"
call :GetFdName "%%b"
ren %%patch1 %%a(%%b)
)
:GetFdName
for /f "delims=\ tokens=1,*" %%i in ("%~1") do (
if "%%j"=="" echo %%i & goto :eof
call :GetFdName "%%j"
)
目前总是变量pathch1的值不对,patch1是临时存放全路经文件名的。不知哪里错误,可能是低级错误。有劳哪位帮忙看看!
[ Last edited by lsh1611 on 2007-11-1 at 05:26 PM ]
