繁体   English   中英

使用命令行删除目录及其文件,但如果不存在则不抛出错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM