2017-08-24 86 views
0

我需要一個腳本來重命名腳本根目錄的所有子文件夾中的所有文件。 我做了搜索,發現一些東西,工作,我可以修改(我有點新手/俗人)重命名子文件夾中的文件的批處理腳本

@echo off 
chcp 65001 
setlocal enabledelayedexpansion 
set filename=image 
set /a x=1 
>@rename.txt (
for /r %CD% %%f in (*.jpg) do (
     echo rename "%%f" "!filename!_!x!.jpg" 
     rename "%%f" "!filename!_!x!.jpg" 
    set /a x+=1 
    ) 
) 
endlocal 
pause 

但我想這將文件重命名爲隨機字符串。

我發現了很多可以生成隨機字符串的腳本,但我不能讓它們在FOR括號內工作。

現在即時通訊堅持

@echo off 
chcp 65001 
setlocal enabledelayedexpansion 
set /a x=%RANDOM%/99 
>@rename.txt (
for /r %CD% %%f in (*.jpg) do (
     echo "%%f" renamed to "!x!.jpg" 
     rename "%%f" "!x!.jpg" 
    set /a x+=%RANDOM%/99 
    ) 
) 
endlocal 

,工作正常,但有他的侷限性。

任何幫助將不勝感激

回答

0
@echo off 
chcp 65001 
setlocal enableextensions enabledelayedexpansion 
set "alphabet=a b c d f g h i j k l m n p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9" 
    set "size=0" 
    for %%a in (%alphabet%) do (
     set "a.!size!=%%a" 
     set /a "size+=1" 
    ) 
for /r %CD% %%f in (*.jpg) do (
    set "k=" 
    for /l %%a in (1 1 64) do (
     set /a "r=!random! %% size" 
     for %%b in (!r!) do set "k=!k!!a.%%b!" 
    ) 
    rename "%%f" "!k!.jpg" 
    ) 
endlocal 
相關問題