我有一个批处理脚本如下。
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%
中删除文件吗?
答案 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”
希望这能解决您的问题