我有一个运行命令的脚本:
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:\文件夹(它会立即执行)