找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19391|回复: 2

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

[复制链接]
发表于 2022-3-16 14:05:33 | 显示全部楼层 |阅读模式
大哥们 这是一个 让文件夹内  所有文件 全随机变成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
复制代码
发表于 2022-3-16 15:39:48 | 显示全部楼层
未测试:
  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
复制代码
发表于 2022-3-18 20:24:08 | 显示全部楼层
将ren "%%b" "!name!%%~xb"
换成
set "str=%%b"
ren  "%%b" "!str:~0,6!!name!%%~xb"

看看能行不
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 07:17 , Processed in 0.017668 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表