我需要一个Windows命令来删除一个目录及其包含的所有文件,但我不希望看到任何错误,如果目录不存在。
Answer 1:
重定向输出del
命令NUL。 注2
,以指示错误输出应该重新定向。 又见这个问题 ,尤其是技术文档使用命令重定向操作符 。
del {whateveroptions} 2>nul
或者你可以拨打电话前先检查文件的存在del
:
if exist c:\folder\file del c:\folder\file
请注意,您可以使用if exist c:\folder\
(与尾随\
)检查c:\folder
确实是一个文件夹,而不是文件。
Answer 2:
无论是标准错误重定向到NUL
rd /q /s "c:\yourFolder" 2>nul
或验证之前删除该文件夹存在。 请注意,尾随\
是在IF条件至关重要。
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
Answer 3:
对我来说,在Windows 10下是伟大的工作:
if exist <path> rmdir <path> /q /s
q
代表“删除不问”和s
代表“删除所有子文件夹和文件在里面。”
而且你还可以concatinate命令:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
Answer 4:
您可以重定向错误输出到NUL
del filethatdoesntexist.txt 2>nul
文章来源: Delete a directory and its files using command line but don't throw error if it doesn't exist