106

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

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"

上面的代码从除文件夹之外的所有文件夹中删除所有“.txt”和“.tsv”文件TEST 100%。为了从中删除文件,TEST 100%我收到错误消息The Path could not be found。我猜文件夹名称中的 % 符号会造成问题。谁能指导我解决问题并从文件夹中删除文件TEST 100%

4

5 回答 5

117

你需要用另一个逃避 % ......

del "D:\TEST\TEST 100%%\Archive*.TXT"
于 2012-12-07T13:35:48.843 回答
12

有多种方法可以批量处理,所以如果以双倍百分比转义%%对你不起作用,那么你可以尝试这样的事情:

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

这是如何工作的:

set olddir=%CD%将变量"olddir"或您喜欢的任何其他变量名称设置为启动批处理文件的目录。

cd /d "path of folder"更改批处理将要查看的当前目录。保留引号并将文件夹的路径更改为您的目标路径。

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

cd /d "%olddir%"获取使用旧路径保存的变量并返回到您开始批处理的目录,如果您不希望批处理返回到其先前的目录路径,这并不重要,就像变量名可以更改为之前所述随心所欲地改变set olddir=%CD% line.

于 2013-10-18T21:54:46.783 回答
10

假设您将软件保存到桌面上。
如果你想像卸载程序一样删除整个文件夹,你可以使用它。

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

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

确保删除正确的文件夹,因为这没有是/否选项

于 2014-05-29T19:12:21.233 回答
4

考虑到您需要删除的文件具有扩展名txt并且位于 locationD:\My Folder中,那么您可以在 bat 文件中使用以下代码。

cd "D:\My Folder"
DEL *.txt 
于 2016-09-03T15:36:06.200 回答
-7

在批处理代码中,您的路径不应包含任何空格,因此请将文件夹名称从“TEST 100%”更改为“TEST_100%”,您的新代码将是 del“D:\TEST\TEST_100%\Archive*.TXT”

希望这能解决你的问题

于 2013-11-07T06:59:35.513 回答