2011-10-17 71 views
2

如何擴展以下批處理代碼,以便Tim文件夾中的所有內容都針對Tom目錄中的所有文件夾進行檢查。查找並刪除多個子目錄中的重複項

Beter說如果Tim有一個名爲Mytext.txt的文件,我可以如何檢查所有,而不僅僅是以C:\ Tom開頭的頂級目錄,它可能是在tom中有另一個文件夾與其他文件夾文件夾中還有Mytext.txt。

下面所有的代碼目前的劑量是檢查指定的目錄只我還想檢查任何子目錄?

for /r "C:\Tim" %%f in (*) do if exist "C:\Tom\%%~nxf" del /s /q "C:\Tim\%%~nxf" 

回答

1

你幾乎得到它,你只需要一個第二FOR /R循環,在TOM的所有子目錄搜索

for /r "c:\tim" %%I in (*) do (
    echo searching for %%~nxI 
    for /r "C:\tom" %%O in (%%~nxI) do (
    if exist %%O echo found in %%O 
) 
) 
+0

對不起香港專業教育學院測試了它(重寫回波顯示,而不是刪除)但它爲我工作。 (*)do( )回聲尋找%%〜nxI for/r「C:\ tom」%% O in(%%〜nxI)do(*)do( for/r「c:\ tim」 如果存在%% O del/s/q「C:\ Tim \ %% O」 ) ) – 2011-10-17 14:03:55

+0

請先測試一下,如果echo語句顯示正確的值。因爲你的'del/s/q「C:\ tim \ %% O'不能工作,因爲它會增加兩倍的路徑,比如'del/s/q C:\ tim \ C:\ tim \ subdir \ myFile.txt' – jeb 2011-10-17 14:12:25

+0

@Bart btw。最好是編輯你的文章,而不是把大量的代碼放在註釋中 – jeb 2011-10-17 14:17:25