我基本上有这样的设置:
C:\Upload\A
C:\Upload\B
C:\Upload\C
C:\Upload\D
C:\Upload\E
A
,B
,C
,D
,E
始终不同(产品ID)并且总是不同的金额(赢得了永远不会有5个子目录。这些子目录中的每一个包含24个以数字01-24编号的图像。
我需要创建一个查看Upload目录的批处理文件,获取每个子目录的名称,并将该名称附加到该子目录中包含的每个图像文件的开头。
因此,C:\Upload\A\01.jpg
将成为C:\Upload\A\A-O1.jpg
以及每个子目录中的其他23个图像。
批处理文件需要对Upload目录中的每个子目录执行相同的操作。
这对我来说听起来非常复杂,我已经开始尝试写这篇文章,我在这篇文章中还没有任何值得分享的内容。
任何帮助将不胜感激。
答案 0 :(得分:5)
这将重命名“C:\ Upload”
子目录中的文件@echo off
for /d %%D in (C:\Upload\*) do (
for /f "eol=: delims=" %%F in ('dir /b /a-d "%%D" ^| findstr /vbic:"%%~nD-"') do (
ren "%%D\%%F" "%%~nD-%%F"
)
)
我添加了额外的代码以防止重命名同一个文件两次。您应该能够安全地多次运行脚本。
如果要在每个子目录树中连续重命名文件,则需要对代码稍作更改。
@echo off
for /d /r "C:\Utils" %%D in (*) do (
for /f "eol=: delims=" %%F in ('dir /b /a-d "%%D" ^| findstr /vbic:"%%~nD-"') do (
ren "%%D\%%F" "%%~nD-%%F"
)
)