[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求修改随机重命名文件的批处理 感谢!!!

大哥们 这是一个 让文件夹内  所有文件 全随机变成4位英数的BAT
我想加入
保留原文件名前6位
要怎么改! 求教 谢谢!!!!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "s=0123456789abcdefghijklmnopqrstuvwxyz"
  4. for %%b in (*.*) do (
  5. if not "%%b"=="%~nx0" (
  6. call :loop
  7. ren "%%b" "!name!%%~xb"
  8. set loop=
  9. set name=
  10. )
  11. )
  12. pause
  13. goto :eof
  14. :loop
  15. set /a loop+=1
  16. set /a r=%random%%%36
  17. set name=%name%!s:~%r%,1!
  18. if "%loop%"=="4" goto :eof
  19. goto :loop
复制代码

将ren "%%b" "!name!%%~xb"
换成
set "str=%%b"
ren  "%%b" "!str:~0,6!!name!%%~xb"

看看能行不
Fit Strong

TOP

未测试:
  1. @echo off
  2. set var=0123456789abcdefghijklmnopqrstuvwxyz
  3. for /f "delims=" %%a in ('dir /b /a-d') do (
  4.     setlocal enabledelayedexpansion
  5.     set filename=%%~na
  6.     set filename=!filename:~,6!
  7.     if not "%%a"=="%~nx0" (
  8.         for /l %%i in (1,1,4) do (
  9.             set /a num=!random!%%36
  10.             for %%j in (!num!) do set str=!str!!var:~%%j,1!
  11.         )
  12.         ren "%%a" "!str!!filename!%%~xa"
  13.     )
  14.     endlocal
  15. )
  16. pause
复制代码

TOP

返回列表