批处理脚本删除文件

我有一个批处理脚本如下。

D: del "D:\TEST\TEST1\Archive\*.TSV" del "D:\TEST\TEST1\Archive\*.TXT" del "D:\TEST\TEST2\Archive\*.TSV" del "D:\TEST\TEST2\Archive\*.TXT" del "D:\TEST\TEST 100%\Archive\*.TSV" del "D:\TEST\TEST 100%\Archive\*.TXT" 

上述代码删除文件夹TEST 100%以外的所有文件夹中的所有“.txt”和“.tsv”文件。 对于从TEST 100%删除文件,我得到错误作为The Path could not be found 。 我猜文件夹名称中的%符号会造成问题。 任何人都可以指导我解决问题,并从文件夹TEST 100%删除文件?

你需要逃避另一个%…

 del "D:\TEST\TEST 100%%\Archive*.TXT" 

比方说,你保存你的软件到你的桌面上。
如果你想删除一个像卸载程序的整个文件夹,你可以使用这个。

 cd C:\Users\User\Detsktop\ rd /s /q SOFTWARE 

这将删除整个名为软件的文件夹及其所有文件和子文件夹

确保您删除正确的文件夹原因这没有一个是/否选项

批处理有多种方式,所以如果用%%转义不起作用,那么你可以尝试这样的:

 set olddir=%CD% cd /d "path of folder" del "file name/ or *.txt etc..." cd /d "%olddir%" 

这是如何工作的:

set olddir=%CD%将variables"olddir"或其他任何您喜欢的variables名称设置为从您的batch file启动的目录。

cd /d "path of folder"更改批处理将查看的当前目录。 保持报价并改变您所瞄准的path。

del "file name/ or *.txt etc..."将删除当前目录中您的批量正在查看的文件,只是不要在文件名之前添加一个目录path,只需具有完整的文件名或用*.txt或任何你需要的扩展名删除多个具有相同扩展名的文件。

cd /d "%olddir%"将保存在您的旧path中的variables返回到您开始批处理的目录,如果您不希望批处理返回到其以前的目录path,则不重要,在variables名称可以通过更改set olddir=%CD% line更改为任何您想要的。

考虑到你需要删除的文件有一个扩展名为txt ,位于D:\My Folder位置,那么你可以在bat文件中使用下面的代码。

 cd "D:\My Folder" DEL *.txt 

在批处理代码你的path不应该包含任何空格,所以请将您的文件夹名称从“testing100%”更改为“TEST_100%”,您的新代码将被删除“D:\ TEST \ TEST_100%\ Archive * .TXT”

希望这能解决你的问题