各位高手,你们好,我有如下批处理,
这个批处理是随机重命名当前文件夹下所有jpg的文件名,
但这个批处理有点麻烦,我们不想他统一重命名为1~N+1的数,
而是按照目前照片的编号,随机打乱文件名,请问该如何修改?
举例:
我们的照片是IMG_为前缀,数字是0001+1这样排列的,IMG_0001,IMG_0002这样排列的,
而我们要的是按一下批处理后,那写数字随机打乱!
@echo off&setlocal EnableDelayedExpansion
set n=1
for /f "delims=" %%i in ('dir /b *.jpg') do ren "%%i" "R%%~ni%%~xi"
for /f "delims=" %%i in ('dir /b *.jpg') do set /a n+=1
for /f "delims=" %%i in ('dir /b *.jpg') do (
call:RR
ren "%%i" "!R!%%~xi"
)
exit
:RR
set /a R=%random%%%n%+1
if !R!==!W%R%! Goto:RR
set /a W!R!=!R!
Goto:eof
这个批处理是随机重命名当前文件夹下所有jpg的文件名,
但这个批处理有点麻烦,我们不想他统一重命名为1~N+1的数,
而是按照目前照片的编号,随机打乱文件名,请问该如何修改?
举例:
我们的照片是IMG_为前缀,数字是0001+1这样排列的,IMG_0001,IMG_0002这样排列的,
而我们要的是按一下批处理后,那写数字随机打乱!
@echo off&setlocal EnableDelayedExpansion
set n=1
for /f "delims=" %%i in ('dir /b *.jpg') do ren "%%i" "R%%~ni%%~xi"
for /f "delims=" %%i in ('dir /b *.jpg') do set /a n+=1
for /f "delims=" %%i in ('dir /b *.jpg') do (
call:RR
ren "%%i" "!R!%%~xi"
)
exit
:RR
set /a R=%random%%%n%+1
if !R!==!W%R%! Goto:RR
set /a W!R!=!R!
Goto:eof