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

Sat*_*esh 90 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"
Run Code Online (Sandbox Code Playgroud)

上面的代码删除除文件夹之外的所有文件夹中的所有".txt"和".tsv"文件TEST 100%.从TEST 100%我删除文件我得到错误The Path could not be found.我猜文件夹名称中的%符号会产生问题.任何人都可以指导我解决问题并从文件夹中删除文件TEST 100%

Rus*_*man 105

你需要用另一个来逃避%

del "D:\TEST\TEST 100%%\Archive*.TXT"
Run Code Online (Sandbox Code Playgroud)

  • 我的猜测是你是从命令提示符而不是批处理文件中进行的. (5认同)
  • 你也许是对的.我一直忘记在批处理文件中,%是一个变量前缀,你需要转义它.+1 (2认同)

小智 11

有多种方法可以批量处理,所以如果以双倍百分比逃避%%不适合你,那么你可以尝试这样的事情:

set olddir=%CD%
cd /d "path of folder"
del "file name/ or *.txt etc..."
cd /d "%olddir%"
Run Code Online (Sandbox Code Playgroud)

这是如何工作的:

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

cd /d "path of folder"更改批处理将要查看的当前目录.保留报价并更改您要瞄准的路径的文件夹路径.

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

cd /d "%olddir%"获取使用旧路径保存的变量并返回到批处理启动的目录,如果您不希望批处理返回到其先前的目录路径,则不重要,并且在变量名称可以更改为无论你想改变什么set olddir=%CD% line.


小智 10

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

cd C:\Users\User\Detsktop\
rd /s /q SOFTWARE
Run Code Online (Sandbox Code Playgroud)

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

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