如何通过cmd调用删除文件夹中的所有文件和文件夹

我使用Windows。

我想通过系统调用删除文件夹中的所有文件和文件夹。

我可以这样打电话:

>rd /s /qc:\destination >md c:\destination 

你知道更简单的方法吗?

不,我不知道。

如果您想保留原始目录(ACL,&c。),而是真的想清空它,那么您可以执行以下操作:

 del /q destination\* for /d %x in (destination\*) do @rd /s /q "%x" 

这首先删除目录中的所有文件,然后recursion地删除所有嵌套的目录,但整体保持顶层目录(除了其内容)。

请注意,在batch file中,您需要将for循环中的%加倍:

 del /q destination\* for /d %%x in (destination\*) do @rd /s /q "%%x" 

del c:\destination\*.* /s /q为我工作。 我希望这也适合你。

我认为最简单的方法是:

 rmdir /s /q "C:\FolderToNotToDelete\" 

path中的最后一个“\”是重要的部分。

如果子文件夹名称可能包含空格,则需要用转义引号括起来。 以下示例显示了batch file中使用的命令。

 set targetdir=c:\example del /q %targetdir%\* for /d %%x in (%targetdir%\*) do @rd /s /q ^"%%x^" 

是! 使用Powershell:

 powershell -Command "Remove-Item 'c:\destination\*' -Recurse -Force" 

一个简单的一行选项是在文件系统的某处创build一个空目录,然后使用ROBOCOPYhttp://technet.microsoft.com/en-us/library/cc733145.aspx )和/MIR开关删除所有文件和子文件夹。 默认情况下,robocopy不会复制安全性,因此根文件夹中的ACL应保持不变。

也可能要为重试开关/r设置一个值,因为默认的重试次数是100万次。

 robocopy "C:\DoNotDelete_UsedByScripts\EmptyFolder" "c:\temp\MyDirectoryToEmpty" /MIR /r:3 

要删除文件:

 del PATH_TO_FILE 

删除文件夹中的所有文件:

 rmdir /s /q PATH_TO_FOLDER 

从特定文件夹删除所有文件(不删除文件夹本身)有点复杂。 del /s *.*不能删除文件夹,但会从所有子文件夹中删除文件。 所以需要两个命令:

 del /q PATH_TO_FOLDER\*.* for /d %i in (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i" 

您可以创build一个脚本来删除任何你想要的(文件夹或文件),像这样mydel.bat

 @echo off setlocal enableextensions if "%~1"=="" ( echo Usage: %0 path exit /b 1 ) :: check whether it is folder or file set ISDIR=0 set ATTR=%~a1 set DIRATTR=%ATTR:~0,1% if /i "%DIRATTR%"=="d" set ISDIR=1 :: Delete folder or file if %ISDIR%==1 (rmdir /s /q "%~1") else (del "%~1") exit /b %ERRORLEVEL% 

使用的几个例子:

 mydel.bat "path\to\folder with spaces" mydel.bat path\to\file_or_folder 

我有一个包含33个文件夹的索引文件夹,需要删除其中的所有文件和子文件夹。 我在索引文件夹中打开了一个命令行,然后使用这些命令:

 for /d in (*) do rd /s /q "%a" & ( md "%a") 

我把它们分成两行(第一行后回车,当询问更多的第二行时),因为如果在一行中input这可能不起作用。 这个命令将擦除每个目录,然后创build一个新的目录,从而删除原目录中的所有文件和子文件夹。

导航到父目录

Line1推“父目录”

删除子文件夹

Line2 rd / s / q。 2> NUL

https://superuser.com/questions/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt