【问题标题】:How to delete all the folder except one folder and its content using command prompt?如何使用命令提示符删除除一个文件夹及其内容之外的所有文件夹?
【发布时间】:2016-05-02 10:12:17
【问题描述】:

例如,我有一个文件夹 abc,其中包含子文件夹 1、2、3、4。现在我想删除除文件夹2 及其内容之外的所有文件夹。我试过了

PUSHD (c:\abc\2) 
rd /s /q "C:\abc" 2>nul

但它也会删除2 文件夹中的文件。我不想删除文件夹2 的任何文件?

【问题讨论】:

  • 在命令提示符窗口中输入pushd /? 后阅读帮助文本;您会发现 pushd 将给定目录更改为当前目录,而没有其他内容...
  • @aschipfl 的想法可能是“当我在那个文件夹中时,它不能被删除”
  • @Stephan,所以你也必须在所有子目录中并打开所有文件?
  • 我说这可能是这个想法,而不是它会按预期工作:P 是的,要让它工作,你必须“也在所有子目录中并打开所有文件”

标签: batch-file cmd


【解决方案1】:

以下代码应该可以工作:

for /D %%D in ("C:\abc\*.*") do (
    if /I not "%%~nxD"=="2" (
        2> nul rd /S /Q "%%~fD"
    )
)

for /D 循环遍历目录1、2、3、4。
if 语句检查当前迭代目录的名称不是2。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多