我希望此腳本列出文件夾名稱中包含「已刪除」的所有文件夾,但如果它們位於名爲「已完成」的文件夾中,則不會。批處理腳本列出文件夾但排除特定文件夾
對於exampel:列出文件夾,如果它在C:\temp
,如果它在C:\temp\random_folder_name
但不是沒有,如果它在C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
短篇小說,排除所有文件夾命名爲「完成」和它們的內容。
我希望此腳本列出文件夾名稱中包含「已刪除」的所有文件夾,但如果它們位於名爲「已完成」的文件夾中,則不會。批處理腳本列出文件夾但排除特定文件夾
對於exampel:列出文件夾,如果它在C:\temp
,如果它在C:\temp\random_folder_name
但不是沒有,如果它在C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
短篇小說,排除所有文件夾命名爲「完成」和它們的內容。
上你幾乎沒有任何名稱中刪除\temp
部分。
Findstr工具/ V返回所有行,不包含在很多案件的串
DIR /廣告將只顯示目錄(Atrribut =目錄)
dir /s /ad "C:\temp" | findstr "\deleted" | findstr /v "\done"
:
dir /b /s /aa <path>
會做的伎倆。/b表示較少的詳細輸出,/ s表示遞歸(子目錄),/ a表示僅用於存檔的文件。這通常是正常創建的文件的情況 - 它默認爲打開!
啊 - 但是這樣會排除名爲'done *'的目錄和文件,而不僅僅是''done'' – Magoo 2013-03-22 11:09:19
/ad消除了文件名 - 我的錯誤。儘管如此,如果在'\ done'之後沒有'\',這也會匹配'\ doneeverything'。 OTOH,使用'\ done \'將只豁免'done'目錄,例如'c:\ are \ all \ done \ here'但是不會消除像'c:\ are \ not \ all \ done'。要做到這一點,你必須添加額外的'| findstr/i/e/v「\ done」'。 – Magoo 2013-03-22 11:45:42
排除文件夾名稱(僅使用文件名)dir/a-d。 (請參閱dir /?) – Stephan 2013-03-22 12:27:54