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

[代码合集] 如何用批处理使用文件夹名字重命名内部文件

[复制链接]
发表于 2022-7-26 10:22:05 | 显示全部楼层 |阅读模式
各位大佬帮帮忙
我找到了一个代码
@echo off
cd /d "%~dp0"
for /r /d %%A in (*) do (
  for %%B in ("%%A\*") do (
    ren "%%B" "%%~nxA%%~xB"
  )
)
能完成重命中文件夹内一个文件 可是如果有多个文件会提示重复命名 只会更改第一个文件名
大佬们帮我改改 怎么让别的文件加上() 1 2 3 4之类的 成功重命名
因为所有文件都是数字命名 只要能和数字区分开 别的什么后缀都可以
发表于 2022-7-26 10:57:53 | 显示全部楼层
本帖最后由 LJY4.0 于 2022-7-26 11:00 编辑

是不是以文件夹的名字重命名文件?
发表于 2022-7-26 13:27:08 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. for /r /d %%A in (*) do (
  4.   call :rentemp "%%A"
  5. )
  6. pause
  7. exit /b

  8. :rentemp
  9. setlocal enabledelayedexpansion
  10. pushd "%~1"|| goto end
  11. set n=0

  12. for /f "delims=" %%A in ('2^>nul dir /a-d /b') do (
  13.   if !n! equ 0 (
  14.     set "newname=%~nx1%%~xA"
  15.   ) else (
  16.     set "newname=%~nx1(!n!)%%~xA"
  17.   )
  18.   set /a n+=1
  19.   if not "!newname!"=="%%A" (
  20.     if exist "!newname!" (
  21.       call :getTempName
  22.       @REM echo ren "%%A" "!tempname!"
  23.      >nul 2>nul ren "%%A" "!tempname!" && set "templist[!n!]=%%A/!tempname!/!newname!"
  24.     ) else (
  25.       echo ren "%%A" "!newname!"
  26.       ren "%%A" "!newname!"
  27.     )
  28.   )
  29. )
  30. REM 重命名临时列表
  31. for /f "tokens=1* delims==" %%A in ('2^>nul set templist[') do (
  32.   for /f "tokens=1-3 delims=/" %%C in ("%%B") do (
  33.     echo ren "%%C" "%%E"
  34.     ren "%%D" "%%E"
  35.   )
  36. )
  37. popd
  38. :end
  39. endlocal
  40. exit /b

  41. :getTempName
  42. :loop
  43. set tempname=~%random%~
  44. if exist "%tempname%" goto loop
  45. @REM echo tempname=%tempname%
  46. exit /b
复制代码
 楼主| 发表于 2022-7-26 13:50:40 | 显示全部楼层
是不是以文件夹的名字重命名文件?
LJY4.0 发表于 2022-7-26 10:57



    是的
 楼主| 发表于 2022-7-26 13:53:32 | 显示全部楼层
flashercs 发表于 2022-7-26 13:27



    谢谢大佬 可以用了
发表于 2022-7-27 08:33:37 | 显示全部楼层
回复 1# yhq300


参考:批处理字符串、文本常见操作之重命名文件
https://mp.weixin.qq.com/s/_1qzhObTSbc6HRpJy4onhQ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:25 , Processed in 0.027895 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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