.BAT批量将文件命名为上级目录名

新建一个TXT文件,将下面代码复制进去保存,然后更改.txt扩展名为.bat。


@echo off

dir test\*.txt /s /a-d /b>>tmp.txt


FOR /F "tokens=*" %%a IN (
'more tmp.txt'
) DO (

Setlocal EnableDelayedExpansion


set tempPath=%%~dpa


set tempPath=!tempPath:~,-1!


FOR %%A IN (
   "!tempPath!"
) DO (

   set filePath=%%~nA
  

   set new_name=!filePath!%%~nxa
  

ren "%%a" "!new_name!"
)
ENDLOCAL
)

del tmp.txt /q 1>nul 2>nul
pause

使用说明:

把批处理文件发在所需的大文件里。如A文件夹下有test子目录,子目录里有多个txt文件。那么执行后,test目录里的文件名会批量改为test.txt,多个文件会在test后加序号(不会覆盖)。如test目录下有其他目录testA,那么它下面的文件会以testA开头命名。

可以将dir test\*.txt改为想要的扩展名和文件夹。

执行时需要用管理员权限。

0
封面图
没有账号? 注册  忘记密码?
";s:2:"js";s:114:"