2013-09-26 114 views
0

因此,我有一个包含图像的目录和子目录列表。我需要以相同的格式获取所有这些文件的名称,并且我需要对它们进行编辑以获取来自不同角度(即背面)的副本或图像。比方说,他们都在将文件从多个子目录复制到根目录并保留副本

C:\Users\username\Desktop\a........ 

比如我有一个形象:

C:\Users\username\Desktop\a\123\123.jpg 
C:\Users\username\Desktop\a\123\back\123.jpg 

我想他们都在C:\ Users \用户名\桌面\ A \ 但我想保持背面和正面图像。我已经找到了几十个将脚本移动或“压扁”到一个文件夹的脚本,但它总是要求覆盖图像。有没有办法让它保留第二个文件,并添加123(1).jpg像正常的复制功能?或者甚至可以在文件名中插入“后退”来重复?它也不会停止\ back我也有\选项文件夹。

这样我就可以使用路径名称的一部分来命名该文件?所以如果它有\返回它可以添加到文件名字符串? \ \相同的东西?

所以对于C:\ Users \用户名\桌面\ A \ 123 \背部\ 123.jpg,我会想:

C:\Users\username\Desktop\a\123.123.jpg 
C:\Users\username\Desktop\a\123.back.123.jpg 
C:\Users\username\Desktop\a\123.options.image1.jpg 
C:\Users\username\Desktop\a\123.options.image2.jpg 

我宁愿一个批处理脚本来做到这一点,但说实话我会使用PHP,JS,Ruby,任何我不需要编译的东西。 :)非常感谢任何帮助。

回答

1

C:\Users\username\Desktop\a文件夹中启动它,它会写renfile.bat供您在运行之前查看它,如果它满足您的需要 - 重命名包含文件夹名称的所有文件。

@echo off 
[email protected] off> renfile.bat 
for /f "delims=" %%a in ('dir /b /s /a-d ') do call :next "%%a" 
echo renfile.bat created 
pause 
goto :eof 
:next 
echo "%~1" 
set "var=%~1" 
call set "var=%%var:%cd%=%%" 
set "var=%var:\=.%" 
>>renfile.bat echo ren "%~1" "%var:~1%" 

你可以跟着它将所有的文件移动到一个文件夹。

@echo off 
for /r "C:\Users\username\Desktop\a" %%a in (*) do move "%%a" "C:\Users\username\Desktop\a" 
+0

WOW!这很有效,非常感谢你! – D3TXER

相关问题