用于删除文件的批处理脚本

时间:2012-12-07 13:30:30

标签: batch-file

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

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%中删除文件吗?

5 个答案:

答案 0 :(得分:98)

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

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

答案 1 :(得分:10)

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

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

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

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

答案 2 :(得分:9)

有多种方式可以批量处理,所以如果以双倍%%转义不适合你,那么你可以试试这样的事情:

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

,可以将变量名称更改为您想要的任何名称

答案 3 :(得分:3)

请注意,您需要删除的文件的扩展名为txt,位于D:\My Folder位置,然后您可以在bat文件中使用以下代码。

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

答案 4 :(得分:-7)

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

希望这能解决您的问题