我需要一个脚本来重命名脚本根目录的所有子文件夹中的所有文件。 我做了搜索,发现了一些有用的东西,我可以修改(我有点新手/ laic)
@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 :(得分: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