首页 > 解决方案 > 移动具有相同扩展名的子文件夹中的所有文件

问题描述

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

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

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

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

有什么解决办法吗?

标签: batch-filecmd

解决方案


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 的单个文件中。


推荐阅读