如何递归删除文件

Aks*_*hay 34 windows cmd

我有目录结构/ foo/bar/fooBar/.. 我想写一个Windows命令,我可以提到foo目录之前的路径,它会在/ foo中递归删除所有文件和目录,但它不应该删除foo目录.

我一直在使用,rmdir /q /s [path to foo]但是这个命令也删除了foo目录.如果有任何命令可以实现此目的,请告诉我.

Fer*_*cio 48

rd /s /q /path/to/foo
md /path/to/foo
Run Code Online (Sandbox Code Playgroud)


小智 9

del /f /s /q DirectoryWhichContainsFilesToDelete/\*
Run Code Online (Sandbox Code Playgroud)

这将删除文件夹中的所有文件DirectoryWhichContainsFilesToDelete而不删除文件夹本身.玩得开心 :)

  • 不删除DirectoryWhichContainsFilesToDelete中的**目录**. (3认同)

小智 6

我也一直在摸着这个.创建一个使用rmdir的for循环很容易,但它留下了长名称中有空格的文件夹.可以操作目录列表并获取8.3文件名,但这里是一个更简单的解决方案.

然后创建一个空文件夹;

robocopy \empty_folder \folder_with_sub_folders /PURGE
Run Code Online (Sandbox Code Playgroud)

将删除所有子文件夹和文件.


小智 5

del X /f /s /q 
rd X /s /q 
Run Code Online (Sandbox Code Playgroud)

这将删除ROOt目录.再做一次

 md X
Run Code Online (Sandbox Code Playgroud)

或先复制一份.

否则你将不得不做批量的funkiness

 dir X /ad /b
Run Code Online (Sandbox Code Playgroud)

将为您提供X的直接子目录列表.您可以解决其余的问题