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

[文本处理] 批处理怎么把多个文件夹里面的所有文件重命名?

有的文件夹里面可能会有子文件夹,有的里面没有,需要把里面的所有文件重命名。比如重命名格式:批处理111、批处理222、批处理333.......

麻烦高手指点一下

本帖最后由 idwma 于 2021-6-30 22:47 编辑

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b/s/a-d z:\学习资料') do (
set/a a+=1
ren "%%i" %%~n!a!!a!!a!xi
)

TOP

回复 2# idwma


    大佬 这个不行啊 重命名的文件不但都是乱码,连文件的扩展名也没有了

TOP

本帖最后由 idwma 于 2021-6-30 23:41 编辑

回复 3# superhu


    粗心大意了尴尬
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b/s/a-d' z:\) do (
set/a a+=1
ren "%%i" "%%~ni!a!!a!!a!%%~xi"
)
pause

TOP

需求没有说清楚:
1.原文件名与重命名后的文件名有无联系
2.后面数字按顺序111,222...999,如果是10的话,是否是101010
最好列举真实文件名——对应重命名后的文件名

TOP

回复 5# qixiaobin0715


    回大佬:
1、原文件名与重命名后的文件名没有联系,只重命名,不要改变文件扩展名。
2、重命名后面的数字+1就行了,没有什么特殊要求。

期待大佬解惑

TOP

本帖最后由 qixiaobin0715 于 2021-7-1 22:10 编辑

假设你说的多个文件夹在D:\test下
  1. @echo off
  2. set testfolder=D:\test
  3. setlocal enabledelayedexpansion
  4. cd /d %testfolder%
  5. for /f "delims=" %%a in ('dir /b /s /a-d') do (
  6.     set /a n+=1
  7.     ren "%%a" "批处理!n!%%~xa"
  8. )
  9. pause
复制代码

TOP

回复 7# qixiaobin0715


   感谢大佬的帮助

TOP

返回列表