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

Roo*_*ook 10 command-line windows-xp

我有一个文件夹(我们称之为 A),其中包含许多子文件夹 B、C、D、E,然后又具有子文件夹 B1、B2、B3、... C1、C2、C3 ...

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

afr*_*ier 12

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

从命令提示符:

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

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

for /d %i in (*) do @rd /s /q "%i"
Run Code Online (Sandbox Code Playgroud)

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

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