使用批处理文件删除名称中带有 tmp 的所有文件夹

使用批处理文件删除名称中带有 tmp 的所有文件夹

曾尝试用谷歌搜索,但我似乎总是得到与 .tmp 文件相关的结果,这实际上没有任何用处。

我对批处理文件只有基本的了解,但我认为我需要这样的东西:

rmdir "D:\*.tmp"

Windows 更新似乎将其所有 .tmp 文件夹转储到我们的 D 盘,因为它有最多的可用空间。很好,但它不会随后删除它们。

我正在编写一个批处理文件,它将遍历并删除所有以 .tmp 结尾的文件夹。

答案1

将此行代码放入 bat 文件中:

FOR /D /R c:\FOLDERLOCATION %%X IN (*.tmp) DO RMDIR /S /Q "%%X"

  • /D——用于目录
  • /R——递归

这将删除以 tmp 结尾的文件夹及其下的所有内容。如果你想更进一步,可以像这样运行它:

@echo off
set dir="c:\FOLDERLOCATION\"
FOR /D /R %dir% %%X IN (*.tmp) DO RMDIR /S /Q "%%X"
pause
exit

答案2

如果您/S在该行末尾添加一个,我相信它将删除所有与您的通配符搜索匹配的指定文件夹和子文件夹。如果您可以确认它有效,那么您可以将其放入记事本并将其保存为文件.bat。不幸的是,我是老派的,不知道如何用 Powershell 的方式来做。:o(

答案3

我改进了@RomeNYRR 的回答 - 谢谢@RomeNYRR!

该命令现在回显已删除的文件夹并隐藏“未找到元素”错误消息:

for /d /r . %X in (*.tmp) do @rmdir /s /q "%X" 2> nul && @echo Deleted %X

如果您需要在编译器之后进行清理,那么这很好...;)

for /d /r . %X in (bin obj) do @rmdir /s /q "%X" 2> nul && @echo Deleted %X

相关内容