我想用随机的字母数字名称重命名一堆图像(全部带有 .jpg 扩展名)。示例是08kDRH1s.jpgor 0FwzUc3.jpg。做了一些搜索,我确实找到了一些使用的批处理脚本,$RANDOM但这只是 0 到 32767 之间的值
一位用户向我指出了一个生成随机 8 个字符的字母数字字符串的批处理脚本。仅将名称输出到命令行是否很难调整它以重命名文件?
@Echo Off
Setlocal EnableDelayedExpansion
Set _RNDLength=8
Set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Set _Str=%_Alphanumeric%987654321
:_LenLoop
IF NOT "%_Str:~18%"=="" SET _Str=%_Str:~9%& SET /A _Len+=9& GOTO :_LenLoop
SET _tmp=%_Str:~9,1%
SET /A _Len=_Len+_tmp
Set _count=0
SET _RndAlphaNum=
:_loop
Set /a _count+=1
SET _RND=%Random%
Set /A _RND=_RND%%%_Len%
SET _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
If !_count! lss %_RNDLength% goto _loop
Echo Random string is !_RndAlphaNum!
Run Code Online (Sandbox Code Playgroud)