如何将树中的每个文件移动到树的根部?

如何将树中的每个文件移动到树的根部?

我有一个文件夹(我们称之为 A),其中有很多子文件夹 B、C、D、E,而这些子文件夹又有子文件夹 B1、B2、B3、...C1、C2、C3...

如何使用 cmd 将所有子文件夹中的所有文件移动到“根”文件夹 A?

答案1

我原来的帖子忘记在移动命令中包含文件的扩展名。 %~ni仅返回基本名称,您需要使用它%~nxi来获取文件名和扩展名!希望你没有在我的账户上弄乱你的文件名!(

从命令提示符:

cd /d C:\Path\To\A
for /r %i in (*) do @move "%i" "%~nxi"

如果您随后需要清理空文件夹:

for /d %i in (*) do @rd /s /q "%i"

现在,如果您遇到任何文件名冲突,您就得自己处理了。您可以将参数添加/ymove命令(在 之前"%i")以强制覆盖。如果您想要不同的东西,您需要另一个可以自动重命名所有内容的程序。

此外,如果您想在批处理文件中使用它,请将所有更改%%%

答案2

创建一个文件夹并将所有其他文件夹复制到其中,然后右键单击该文件夹并选择搜索. 在搜索框中输入*.*

这将列出所有文件和文件夹。选择根目录中所需的所有文件并剪切它们。导航到根目录并将所有文件粘贴到那里。

答案3

安装 Cygwin(或 Windows 的其他 Unix 环境)并运行以下命令:

cd A
find . -type f -exec mv {} . \;

相关内容