标题: [文件操作] [已解决]批处理如何随机重命名文件 [打印本页]
作者: rapmq0 时间: 2021-9-4 13:34 标题: [已解决]批处理如何随机重命名文件
本帖最后由 rapmq0 于 2021-9-11 23:20 编辑
求一段代码
把当前目录的所有文件重命名,后缀名不变
文件名有数字和小写字母组成,一共4位数,完全随机,并且不重复
作者: idwma 时间: 2021-9-4 14:48
- @echo off
- setlocal enabledelayedexpansion
- set "s=0 1 2 3 4 5 6 7 8 9"
- set "ss=a b c d e f g h i j k l m n o p q r s t u v w x y z"
-
- for %%b in (*.*) do (
- if not "%%b"=="%~nx0" (
- call :loop
- ren "%%b" "!name!%%~xb"
- set loop=
- set name=
- )
- )
- pause
- goto :eof
-
- :loop
- set /a loop+=1
- if not "%loop%"=="5" (
- for %%a in (%s% %ss%) do (
- set /a n+=1
- set /a r=%random%
- set /a r=r%%36+1
- if "!r!"=="!n!" (
- set name=!name!%%a
- set n=
- goto :loop
- )
- )
- )
- goto :eof
复制代码
作者: idwma 时间: 2021-9-4 15:17
换个方式再来一次- @echo off
- setlocal enabledelayedexpansion
- set "s=0123456789abcdefghijklmnopqrstuvwxyz"
- for %%b in (*.*) do (
- if not "%%b"=="%~nx0" (
- call :loop
- ren "%%b" "!name!%%~xb"
- set loop=
- set name=
- )
- )
- pause
- goto :eof
- :loop
- set /a loop+=1
- set /a r=%random%%%36
- set name=%name%!s:~%r%,1!
- if "%loop%"=="4" goto :eof
- goto :loop
复制代码
作者: rapmq0 时间: 2021-9-4 15:37
回复 3# idwma
太感谢啦!
作者: idwma 时间: 2021-9-4 15:38
还能再来一次是没想到的呀- @echo off
- setlocal enabledelayedexpansion
- set "s=0123456789abcdefghijklmnopqrstuvwxyz"
- for %%b in (*.*) do (
- if not "%%b"=="%~nx0" (
- set /a ra=!random!%%36
- set /a rb=!random!%%36
- set /a rc=!random!%%36
- set /a rd=!random!%%36
- call;set name=%%s:~!ra!,1%%%%s:~!rb!,1%%%%s:~!rc!,1%%%%s:~!rd!,1%%
- ren "%%b" "!name!%%~xb"
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |