将文件夹名称附加到该特定文件夹中的所有文件

时间:2011-06-30 12:19:46

标签: scripting batch-file

目录中有100个文件夹,每个文件夹内都有一个(filename).ini文件。

我需要做的就是将父文件夹名称附加到.ini文件,使其成为(foldername)-(filename).txt文件。

是否有可以执行此操作的批处理脚本?我是批处理文件的新手。所以,非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

setlocal enabledelayedexpansion

for /R %%a in (*.ini) do (
  set relativepath=%%a
  set relativepath=!relativepath:%cd%\=!
  set newname=!relativepath:\=-!
  set newname=!newname:.ini=.txt!
  ren !relativepath! !newname!
)

endlocal

答案 1 :(得分:0)

这适用于任何文件夹和任何文件夹结构。

@echo off
setlocal enabledelayedexpansion
for /R %%a in (*.ini) do (
  set foldername=%%~pa
  set foldername=!foldername:\=_!
  echo ren "%%~fa" "(!foldername!)-%%~na.txt"
)

对于当前目录中的所有ini文件:使用~p修饰符从文件名中提取路径;使用:=修饰符将所有反斜杠活动更改为下划线;最后重命名原始的ini文件。

测试后,删除ECHO

有关详细信息,请参阅HELP FORHELP SET