2015-07-20 95 views
0

我想修改以下代碼以更好地定位一組文件夾。從Windows命令行%%參數中排除文件夾

我有以下文件夾結構:

  • C:\ ROOT \ Dir1中\數據,C:\ ROOT \方向2 \數據,...
  • d:\ ROOT \ Dir1中\數據, C:\ Root \ Dir2 \ Data,...

C:包含工作副本,而D:包含要按需恢復的備份副本。 With the help of @Marged,我利用下面的批處理文件:

for /d %%g in ("C:\Root\*") do rd /s /q "%%g\Data" 
xcopy /s /q "D:\Root" "C:\Root" 

pause 

我現在需要一種方法來指定%%g排除在C:\Root\*文件夾。例如,我希望第1行刪除C:\Root\Dir1\DataC:\Root\Dir2\Data,但不是C:\Root\Dir3\Data。隨着包含物集的變化,需要明確排除這些排除項。我還需要第2行以更好地定位文件夾。不過,我相信可以用XCOPY的/EXCLUDE:"D:\Root\Dir3"開關來完成。

非常感謝您閱讀並提前進行任何討論! :)

+0

'...做,如果 「%%〜G」 NEQ 「C:\ ROOT \ DIR3」 第三屆...'? – Stephan

+0

對不起,我的經驗不足,@Stephan。如果「%%〜g」neq「C:\ Root \ Dir3」rd/s/q「%% g \ Data,它會在(」C:\ Root \ *「)中的」for/d %% g「 「'?我現在正在嘗試。 –

+0

它的工作原理!很簡單;謝謝@Stephan :) –

回答

0

... do if "%%~g" neq "C:\Root\Dir3" rd ...? - 斯蒂芬