2013-09-26 110 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

相關問題