使用命令提示符将多个文件夹中的文件全部移动到父目录中

使用命令提示符将多个文件夹中的文件全部移动到父目录中

我在多个文件夹中有多个 .rar 文件,如下所示:

C:\Docs\Folder1\rarfile1-1.rar
C:\Docs\Folder1\rarfile1-2.rar
C:\Docs\Folder1\rarfile1-3.rar  

C:\Docs\Folder2\rarfile2-1.rar
C:\Docs\Folder2\rarfile2-2.rar
C:\Docs\Folder2\rarfile2-3.rar  

C:\Docs\Folder3\rarfile3-1.rar
C:\Docs\Folder3\rarfile3-2.rar
C:\Docs\Folder3\rarfile3-3.rar  

我想将所有 .rar 文件移动到父目录“C:\Docs”。我有远多于 3 个文件夹,所以我想制作一个批处理文件或类似的东西。执行此操作的命令是什么?
谢谢

答案1

我刚刚制作了一个命令行应用程序确切地这个(加上显示了一些统计数据)并搜索看看是否有人试图这样做,这样我就可以分享它并节省某人不得不弄清楚的时间。

写起来很有趣。需要 .NET 3.5,从命令行运行,使用 -h 或无参数调用。

从子文件夹向上移动文件
(源代码)

反馈加分!:)

哦,还有它的截图:

                               

答案2

尝试一下:

for /d %f in (docs\*) do (
pushd %f
move .\*.* ..
popd
)

答案3

嗯,你的问题的答案很简单。它不是脚本,但是可以做到。

我假设您正在运行 Windows。

  • 将自己置于 C:\Docs 目录中
  • 按 F3(搜索)
  • 搜索 *.rar
  • 按 Crtl+A
  • 按 Ctrl+X
  • 关闭搜索窗口并再次在资源管理器中转到 C:\Dosc
  • 按 CTRL+V 粘贴剪切的文件。

答案4

将文件从子目录复制或移动到单个目录的示例:

for /f "tokens=*" %a in ('dir "C:\Temp\Epub\*.epub" /s /b') do copy /y "%a" C:\Temp\epub\.

for /f "tokens=*" %a in ('dir "C:\Temp\Epub\*.epub" /s /b') do move /y "%a" C:\Temp\epub

s"tokens=*捕获带有特殊字符的路径。

相关内容