簡體   English   中英

批處理文件刪除列表中不包含的文件夾

[英]Batch File To Delete Folders Not Contained In a List

我有一組我想保留的文件夾,並想刪除其余的文件夾。 我有一個 .txt 文件,其中包含我想保留的文件夾的名稱。

所以這就是我所擁有的:

C:\\test我有以下文件夾:

AAA
BBB
CCC
DDD
EEE

在我的文本文件exclude.txt我列出了以下文件夾名稱:

AAA
BBB
CCC

因此,我希望我的最終產品是C:\\test在批處理文件之后應該只有文件夾AAABBBCCC

這是我到目前為止所擁有的但沒有任何運氣:

for /d %%a in ("C:\test\*") do findstr /i /x /c:"%%~nxa" exclude.txt || rd /s /q %%a

看起來你很接近。 以下對我有用...(只是在您的目錄名稱中添加了一個 '\\' 字符)

for /d %%a in ("C:\test\*") do findstr /i /x /c:"%%~nxa" exclude.txt || rd /s /q %%a

我和上面那個人有同樣的問題,它只適用於我的排除文件中的第一行。

過了一會兒,我意識到我的排除列表中的最后一行實際上並沒有起作用,但是因為我只用 2 行測試它,所以我無法區分。

當我將真實數據與 84 個排除項一起放入時,我意識到發生了什么,我的解決方法是在文件末尾放置一個虛擬排除項,但知道它無論如何都會被忽略

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM