【问题标题】:How to delete an intermediate directory in windows using cmd?如何使用cmd删除windows中的中间目录?
【发布时间】:2021-06-28 15:44:56
【问题描述】:

例如从这个出发:

directory1/
   101/online/img1.png
   102/online/img2.png
   103/online/img3.png

到这里:

 directory1/
   101/img1.png
   102/img2.png
   103/img3.png

在此示例中,101(和102103...)目录仅包含一个目录online,它始终具有相同的名称。但是,online 目录可能包含多个文件,但没有目录。

我正在寻找一种自动化的方式来处理我的文件,因为我有很多这样的案例。我正在寻找 Windows 命令提示符或 Powershell 解决方案。

【问题讨论】:

  • 因此您需要一种方法来枚举文件夹中的文件系统项目,移动它们,最后删除一个目录——这绝对是 cmd 或 powershell 能够做到的。您需要哪方面的帮助?
  • @MathiasR.Jessen 我是 cmd 新手,我只能导航和执行简单的任务。我想我在所有方面都需要帮助。
  • @MathiasR.Jessen 我不需要枚举它们。文件名已经存在。只需循环移动和删除即可。
  • 我说的是直接父文件夹(101102103 等):-)
  • @MathiasR.Jessen Amm 是的,我需要考虑所有文件夹,不管有多少。

标签: windows powershell cmd directory filesystems


【解决方案1】:

新答案和更新

这个来自命令行:

pushd directory1
for /D %D in (*) do move /Y %D\online\*.* %D && rmdir /s /q %D\online
popd

或者来自 cmd 文件:

pushd directory1
for /D %%D in (*) do move /Y %%D\online\*.* %%D && rmdir /s /q %%D\online
popd

【讨论】:

  • 感谢您的回答!我应该从 cmd 中的 directory1 运行此命令吗?还是从directory1的父目录?
  • 哦 pushd 将其保存到内存中,%D 用于从内存中访问它对吗?
  • 好的,我知道了,从父目录
猜你喜欢
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多