我使用以下脚本使用字符串“Application”重命名(前缀)子文件夹中的文件。
pushd "%temporarydirectory%"
for /r %%j in (*) do (
rename "%%j" "Application - %%~nxj"
)
Popd
例如:
中的文件C:\ temp \ Lodgements \ 10 Smith Street
10001.doc
10002.doc
重命名为:
Application - 10001.doc
Application - 10002.doc
我想要做的是更改脚本,以便使用包含它们的文件夹的名称重命名(带前缀)文件。例如:
中的文件C:\ temp \ Lodgements \ 10 Smith Street
10001.doc
10002.doc
重命名为:
10 Smith Street - 10001.doc
10 Smith Street - 10002.doc
此致
乔治·麦肯齐小猫
答案 0 :(得分:1)
pushd "%temporarydirectory%" && (
for /r /d %%a in (.) do for %%b in ("%%~fa\*") do (
echo ren "%%~fb" "%%~nxa - %%~nxb"
rem Magoo's tickle begin
echo "%%~nxb"|FINDSTR /l /c:"%%~nxa - " >NUL&IF ERRORLEVEL 1 echo ren "%%~fb" "%%~nxa - %%~nxb"
rem Magoo's tickle end
)
)
对于每个文件夹,对于此文件夹中的每个文件,将文件重命名为文件夹的名称和扩展名,后跟文件的名称和扩展名
(注意rename / ren
命令只是为了解体而回显)
Magoo痒痒:如果程序运行,删除名为“10 Smith Street - 10001.doc”的文件将被重新命名为“10 Smith Street - 10 Smith Street - 10001.doc”的可能性,从而扩展建议的答案不止一次......