2013-03-18 86 views
0

所以,我希望將所有轉換後的文件夾下的文件從主源文件夾移動到具有相同層次結構的另一個輸出文件夾。使用批處理腳本將文件從一個文件夾移動到具有相同層級和文件夾名稱的另一個文件夾?

Source 
    -done 
    -converted 
    -folder1 
     -done 
     -converted 
     -folder11 
     -done 
     -converted 
    -folder2 
     -done 
     -converted 

TO

Output 
    (files from converted folder) 
    -folder1 
     (files from converted folder) 
     -folder11 
     (files from converted folder) 
    -folder2 
     (files from converted folder) 

我是新來的一批腳本的話,我會很感激,如果你能幫助我以某種方式。 謝謝!

+1

請向我們展示您已擁有的代碼。 – Endoro 2013-03-18 07:47:11

+1

結合mfm4aa的說法,查看[問]。 – 2013-03-18 08:04:16

回答

0
@ECHO OFF 
SETLOCAL 
SET source=c:\sourcedir 
SET destroot=c:\destdir 
SET cdtl=0 
:loploop 
SET /a cdtl+=1 
FOR /f "tokens=%cdtl%*delims=\" %%i IN ("%source%") DO IF NOT "%%j"=="" GOTO loploop 
FOR /f "delims=" %%i IN (
    ' dir /b/s/ad "%source%\converted" ' 
    ) DO CALL :movedest "%%~dpni%" 
) 
GOTO :eof 

:movedest 
SET destdir=%~1 
FOR /f "tokens=%cdtl%*delims=\" %%d IN (%1) DO SET destdir=%destroot%\%%e 
ECHO MD "%destdir%" 2>NUL 
ECHO MOVE /y "%~1\*.*" "%destdir%\" 
GOTO :eof 

倒數第二行中的ECHO簡單地顯示了所提出的操作。在您確認了您想要的操作後,只需刪除ECHO關鍵字即可執行此操作。

請注意,MOVE命令中的/y開關將覆蓋文件的任何現有目標版本。

相關問題