修改批次文件,使其不會刪除目錄下的所有文件

修改批次文件,使其不會刪除目錄下的所有文件

我有以下批次文件,用於刪除路徑和文件名稱儲存在文件中的文件。效果很好。我可以將要刪除的檔案的路徑和檔案名稱放在DELETE-ALL.txt中,批次檔案將刪除它們。例如,如果檔案中有一個條目“download\test.txt”,它將從多個磁碟機中刪除。

但有一個問題。如果條目只是「download\」而沒有任何檔案名,則「download\」下的所有檔案(但不包括資料夾)都會被刪除。這當然不好。無論如何修改批次文件,使其忽略“\”後沒有任何內容的條目(以“\”結尾的條目)?或者也許還有其他方法可以實現同樣的目標?

@REM This script deletes files which include path.

@ECHO Working...
@if exist C:\DELETE-ALL-LOG.txt DEL /Q C:\DELETE-ALL-LOG.txt
@(@for /f "tokens=1 delims=;" %%A in ( C:\DELETE-ALL.txt) do @(

@DEL /Q /A "D:\%%A"
@DEL /Q /A "E:\%%A"
@DEL /Q /A "K:\%%A")   >> C:\DELETE-ALL-LOG.txt 2>&1)

@endlocal

@CD /D C:\
@echo Done. 

相關內容