Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用命令行删除目录及其文件,但不要';如果没有';不存在_Windows_Batch File_Cmd - Fatal编程技术网

Windows 使用命令行删除目录及其文件,但不要';如果没有';不存在

Windows 使用命令行删除目录及其文件,但不要';如果没有';不存在,windows,batch-file,cmd,Windows,Batch File,Cmd,我需要一个Windows命令来删除目录及其包含的所有文件,但如果目录不存在,我不希望看到任何错误。将del命令的输出重定向到nul。请注意2,以指示应重定向错误输出。另请参见,尤其是技术文档 或者,您可以在调用del之前检查文件是否存在: if exist c:\folder\file del c:\folder\file 请注意,您可以使用if exist c:\folder\(尾随\)检查c:\folder是否确实是文件夹而不是文件。您可以将stderr重定向到nul del fileth

我需要一个Windows命令来删除目录及其包含的所有文件,但如果目录不存在,我不希望看到任何错误。

del
命令的输出重定向到nul。请注意
2
,以指示应重定向错误输出。另请参见,尤其是技术文档

或者,您可以在调用
del
之前检查文件是否存在:

if exist c:\folder\file del c:\folder\file

请注意,您可以使用
if exist c:\folder\
(尾随
\
)检查
c:\folder
是否确实是文件夹而不是文件。

您可以将stderr重定向到nul

del filethatdoesntexist.txt 2>nul
rd /q /s "c:\yourFolder" 2>nul

将stderr重定向到nul

del filethatdoesntexist.txt 2>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

上面的提示中会出现Y或N。因此,我使用了下面的方法,效果非常好

if exist cddd rmdir cddd
希望这对别人有帮助


干杯。

尝试了这个,我仍然得到“系统找不到指定的路径”强制递归删除,忽略错误:
rmdir/s/q some\where\myFolder 2>nul
@crusy非常感谢,但这是相同的答案(
rmdir
=
rd
)dbenham已经给了整整6年ago@GolezTrol-两人都没有按照OP的要求删除文件夹。两人都专注于删除文件。是否尝试过此操作?这不管用。如果它不存在,我仍然会看到错误,以避免出现提示,您必须向rmdir命令添加/Q。如果您需要删除所有文件和子目录,还需要/S。您没有看到提示,可能是因为目录不在那里。