目录中有100个文件夹,每个文件夹内都有一个(filename).ini
文件。
我需要做的就是将父文件夹名称附加到.ini文件,使其成为(foldername)-(filename).txt
文件。
是否有可以执行此操作的批处理脚本?我是批处理文件的新手。所以,非常感谢任何帮助!
答案 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 FOR
和HELP SET
。