【问题标题】:How to Delete all folders inside a folder except one in windows batch script?如何删除文件夹内的所有文件夹,除了Windows批处理脚本中的一个?
【发布时间】:2023-04-03 10:20:01
【问题描述】:

我试图删除一个文件夹中的一个文件和文件夹,但到目前为止我没有得到一个完美的答案?

上面有人可以帮忙吗?

我的文件夹结构如下:

我在 E:\ 下有 ABC 文件夹 在该文件夹内,我有 4 个名为 A.txt、B.txt、C.txt 和 D.txt 的文件,我有 3 个文件夹,它们分别是 AB、BC 和 CD .. .我想删除ABC文件夹中的所有文件和文件夹,除了ABC文件夹中的CD文件夹..

有人可以帮忙吗?

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:

    pushd "d:\abc\cd" && rd /s /q "d:\abc" 2>nul 将删除文件夹 cd 内的所有文件。

    【讨论】:

    • 如果我想保留 2 个文件夹及其内容,命令是什么?
    【解决方案2】:

    测试一下 - 它应该可以工作。

    pushd "d:\abc\cd" && rd /s /q "d:\abc" 2>nul
    

    【讨论】:

      【解决方案3】:

      由于您确切地知道您的目录树,您可以删除所有不需要的元素:

      del e:\abc\ab\*.*
      rmdir e:\abc\ab
      del e:\abc\bc\*.*
      rmdir e:\abc\bc
      

      更通用的解决方案:

      for /D %%d in (e:\abc\*) do if "%%d" neq "CD" rmdir "%%d"
      

      【讨论】:

      • 要使其正常工作,需要阅读:for /D %%d in (e:\abc\*) do if "%%d" neq "e:\abc\CD" rmdir "%%d"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多