我在多个文件夹中有多个 .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=*
捕获带有特殊字符的路径。