如何在 Windows 命令 shell 中执行“mv */* ./”?

如何在 Windows 命令 shell 中执行“mv */* ./”?

在 Windows 机器上,我在同一个目录中有大约 50 个子目录,每个子目录中大约有 5 个文件。我想将所有 250 个左右的文件放入一个目录中。

在 UNIX 系统中,我只需打开 shell,输入

mv */* ./

并完成它。

我不知道如何在 Windows 中执行此操作。move */* ./不起作用。

答案1

当相关目录是当前目录时,应在命令提示符中输入此命令:

for /r %i in (*.*) do move "%i" .

请注意,覆盖同名文件将失败。
还请注意,它将从任何深度移动文件,因此如果您的文件夹有子文件夹,请不要使用此命令。

答案2

该命令可以在批处理文件或 CMD 中使用:

forfiles /P . /S /M * /C "cmd /c if @isdir==FALSE move @path %cd%"

参考:forfiles 示例

请注意,覆盖同名的文件将会覆盖它。

相关内容