【问题标题】:Move all files in subfolder with same extension [closed]移动具有相同扩展名的子文件夹中的所有文件[关闭]
【发布时间】:2021-07-30 10:49:00
【问题描述】:

我正在尝试将项目中的所有图像文件移动到一个名为 texture 的文件夹中。 很多子文件夹,包括图像,我没有时间移动每一个。 我试过这个:

@echo off
cd E:\x\
move /s *.dds Textures

没用,然后我试了这个也没用!

forfiles /S /M *.dds /C "cmd /c move @file texture"

有什么办法吗?

【问题讨论】:

  • move 不支持/S 开关!
  • 您最终会遇到与您尝试使用的逻辑有关的循环复制错误。 MOVEFORFILES 是错误的工具。

标签: batch-file cmd


【解决方案1】:
md "d:\all snaps"
cd /d "d:\vacation snaps\2016"
for /r %d in (*) do copy "%d" "d:\all snaps\"

这会递归地将 d:\vacation snaps\2016\ 文件夹中的所有文件复制到 d:\all snaps\ 文件夹中。要移动文件,请将 copy 替换为 move

如果目标中存在同名文件,系统会询问您是要覆盖还是跳过该文件。

注意:在目标文件夹路径之后包含尾部反斜杠 () 始终是安全的,如上例所示。因为,如果没有尾部斜杠,如果目标路径丢失并且您运行命令,则文件夹和子文件夹中的文件将被复制并合并为一个名为 all snaps to D:\ drive 的单个文件。

【讨论】:

  • 1) 这不会在 Windows .BAT 中成功执行,这是用户标记问题的地方。 2)用户具体给出了将文件移动到其源目录的子文件夹中的示例。您的示例使用了两个完全不同的文件夹结构。
猜你喜欢
  • 2020-12-26
  • 2021-10-08
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多