将所有文件从多级子文件夹移动到第二级子文件夹

将所有文件从多级子文件夹移动到第二级子文件夹

我正在寻找 Windows 命令或批处理脚本来帮助我,我花了 3 个小时阅读/尝试找到解决方案,我知道它就在那里,但我缺乏脚本/编程经验,没有帮助,希望有人可以帮助我。

我有一组文件夹和文件,我想将它们带到第二级子文件夹,在此示例中为子文件夹 1 & 子文件夹 1 & 子文件夹 3 等。

D:文件夹>子文件夹1>子文件夹>子文件夹>文件

     >subfolder2>subfolder>files

     >subfolder3>subfolder>files

     >subfolder4>subfolder>subfolder>files

答案1

你的目标很危险 - 如果多个子目录中存在相同的文件名会发生什么?给定文件夹中只能存在一个版本。

以下命令提示符将根据您的要求移动文件,重复的名称将覆盖具有该名称的现有文件:

for /d %A in ("d:\folder\*") do @(pushd "%A"&(for /r /d %B in (*) do @move /y "%B\*" "%A" 2>nul)&popd)

或者,作为批处理脚本:

@echo off
for /d %A in ("d:\folder\*") do (
  pushd "%A"
  for /r /d %B in (*) do move /y "%B\*" "%A" 2>nul
  popd
)

相关内容