2015-08-13 79 views
2

爲了獲得驅動C:\包含一個名爲".svn"目錄我簡單地使用下面的批處理文件中的所有目錄:Windows批處理腳本 - 獲取包含文件夾的另一個文件夾,但不包含一定的父文件夾

@ECHO OFF 
FOR /D /R C:\ %%X IN (*) DO IF EXIST "%%X\.SVN" (ECHO "%%X") 

這工作!但從結果我還想刪除有一個父目錄已經包含.svn目錄目錄。

例子,假設我們有下面的樹

C:\ 
C:\hello\ 
C:\babe\.svn 
C:\babe\cool\.svn 
C:\world\.svn 
C:\zulu 

我的批處理文件,上面將返回該列表(含.svn文件夾中的所有目錄)

C:\babe 
C:\babe\cool 
C:\world 

我想批只返回

C:\babe 
C:\world 

沒有C:\babe\cool因爲.svn目錄是在父目錄C:\babe

+0

已經找到使用DIR應在歷數.svn目錄更快。 ('dir/ad/b/s .svn')for/f「delims =」%% A do %%〜fA'至於濾除孩子,我沒有快速解決方案頭。 –

回答

3
FOR /D /R C:\ %%X IN (*) DO @IF EXIST "%%X\.SVN" IF NOT EXIST "%%X\..\.SVN" (ECHO "%%X") 
+0

我向你鞠躬。 :-) –

相關問題