命令行del c:\ mydir \ *。* – 也删除子文件夹

我有一个运行命令的脚本:

del c:\mydir\*.* 

有没有我可以使用的命令行开关,也将删除该目录中的所有子文件夹? 谢谢!

如果C:\ mydir目录中有文件,那么你需要两行。 否则,第一行将做你想要的:

 FOR /D %i IN (C:\mydir\*) DO RD /S /Q "%i" DEL /QC:\mydir\*.* 

这保留了C:\ mydir目录。

编辑:David1235是相当正确的。 如果您想在batch file中执行此操作,则需要将“FOR …”行中的“%”加倍。

不过,我不清楚为什么David1235的脚本需要“pushd”和“popd”,但是可以在“FOR …”和“DEL …”行中指定path。

如果你想从任何地方运行脚本,请尝试

 @echoclosures
推“C:\ mydir”
 (*。*)中的/ d %% d做rmdir / s / q“%% d”
 del / q *。*
 POPD

在批处理脚本中,您需要双重百分号。 从“help for”:

要在批处理程序中使用FOR命令,请改为指定%%variables
 %variables。 variables名称区分大小写,所以%i是不同的
从%I。

有没有一个原因:

DEL /Q /SC:\mydir\*

不会工作?

而不是复杂的FOR … LOOPS等我只是使用:

 c: cd\mydir del /q *.* /s 

…但更快的方法是:

 rd /q /sc:\mydir 

因为RD就像旧DELTREE一样是“删除目录”

是的,rmdir。

(提示:rmdir /?)

编辑:你可能想保留该文件夹。 在batch file中试试这个:

 @echo off rmdir C:\mydir /S mkdir C:\mydir 

我用ms dos 6.22使用virutal机器。 rd命令不能有参数…

用文件删除c:\ folder \ folder \文件夹,如果你在c:\ use:

deltree \文件夹(它会要求确认)deltree \ yc:\文件夹(它会立即执行)