簡體   English   中英

將文件從多個子目錄復制到根目錄並保留重復項

[英]Copy Files from multiple subdirectories to root directory and keep duplicates

所以我有一個目錄和子目錄的列表,其中有圖像。 然后,我需要以相同的格式獲取所有這些文件的名稱,並需要對其進行編輯,以獲取來自不同角度(即背面)的重復項或圖像。 可以說他們都在

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

例如我有一個圖像:

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

我希望它們全部位於C:\\ Users \\ username \\ Desktop \\ a \\中,但我想同時保留背面和正面圖像。 我發現有數十個腳本會將這些文件移動或“平放”到一個文件夾中,但是它總是要求覆蓋圖像。 有沒有辦法像常規復制功能一樣保留第二個文件並添加123(1).jpg? 或者甚至在文件名中插入“ back”以進行復制? 它還不只是以\\ back停止,我還有\\ options文件夾。

那么我可以使用部分路徑名來命名文件嗎? 因此,如果它帶有\\ back,可以將其添加到文件名字符串中嗎? 與\\ options相同嗎?

因此,對於C:\\ Users \\ username \\ Desktop \\ a \\ 123 \\ back \\ 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和其他不需要編譯的東西。 :)非常感謝您提供的任何幫助。

C:\\Users\\username\\Desktop\\a文件夾中啟動此文件,如果需要,它將在運行前寫入renfile.bat供您查看-重命名所有包含文件夾名稱的文件。

@echo off
echo.@echo 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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM