如何批量添加文件夹名称到文件名?

时间:2013-06-07 15:34:17

标签: image file image-processing batch-file rename

我有一个像这样的文件夹:

/1/1/master.jpg
/1/2/master.jpg
/1/3/master.jpg
/2/1/master.jpg
/2/2/master.jpg
/2/3/master.jpg
...

我需要将所有图像导入网站,但文件名必须彼此不同,因此我无法导入两个(或)更多具有相同名称的文件。只需将图像编号为master1.jpg,master2.jpg,... AntRenamer是不合适的解决方案,因为图像路径/名称被分配给我还需要导入的csv文件中的项目编号。

那么:我如何将文件夹名称批量添加到这样的文件中?

/1/1/1_1_master.jpg
/1/2/1_2_master.jpg
/1/3/1_3_master.jpg
/2/1/2_1_master.jpg
/2/2/2_2_master.jpg
/2/3/2_3_master.jpg
...

感谢您的帮助! 蒂莫

2 个答案:

答案 0 :(得分:0)

在Windows中试试这个。删除echo以使其实际执行重命名。

@echo off
for /f "delims=" %%z in ('dir "master.jpg" /b /s /a-d ') do (
for %%a in ("%%~dpz%\.") do (
for %%b in ("%%~dpa\.") do (
echo ren "%%z" "%%~nxb_%%~nxa_%%~nxz"
)
)
)
pause

答案 1 :(得分:0)

@echo off
setlocal EnableDelayedExpansion
cd C:\Parent\Folder\OfFirstNumberedFolders
for /F "delims=" %%a in ('dir /B /S /A-D master.jpg') do (
   set "fullName=%%a"
   for /F "tokens=1-3 delims=\" %%b in ("!fullName:%CD%=!") do (
      ECHO ren "%%a" "%%b_%%c_%%d"
   )
)