[英]Delete a directory and its files using command line but don't throw error if it doesn't exist
我需要一个 Windows 命令来删除一个目录及其所有包含的文件,但如果该目录不存在,我不希望看到任何错误。
将del
命令的输出重定向到 nul。 请注意2
, 表示应重定向错误输出。 另请参阅此问题,尤其是使用命令重定向操作符的技术文档。
del {whateveroptions} 2>null
或者您可以在调用del
之前检查文件是否存在:
if exist c:\folder\file del c:\folder\file
请注意,您可以使用if exist c:\\folder\\
(带有尾随\\
)来检查c:\\folder
是否确实是文件夹而不是文件。
要么将 stderr 重定向到 nul
rd /q /s "c:\yourFolder" 2>nul
或者在删除之前验证该文件夹是否存在。 请注意,尾随\\
在 IF 条件下至关重要。
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
对我来说,在 Windows 10 上,以下工作很好:
if exist <path> rmdir <path> /q /s
q
代表“不询问就删除”, s
代表“删除其中的所有子文件夹和文件”。
您还可以连接命令:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
您可以将 stderr 重定向到 nul
del filethatdoesntexist.txt 2>nul
以上在提示中出现了 Y 或 N。 所以,我改用了以下内容,并且效果很好。
if exist cddd rmdir cddd
希望这可以帮助某人。
干杯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.