Windows 7-使用 cmd 将所有目录子文件夹移动到父文件夹

Windows 7-使用 cmd 将所有目录子文件夹移动到父文件夹

我需要将目录树中的所有子文件夹展平到一层文件夹,并且文件夹内的所有文件都完好无损。例如:

inside parent folder: -folderA -folderB -file1 -file2 -file3 -folderC -file1 -file2 -file3

更改为:

inside parent folder: folderA -file1 -file2 -file3 folderB -file1 -file2 -file3 folderC

我可以手动执行此操作,方法是显示文件夹路径并展开所有内容,然后一次将一个文件夹拖放到父文件夹中。问题是,我有 25,000 多个文件夹需要查看,执行此操作的命令将节省大量工时并加快项目进度。我看到很多问题要求将所有文件拉入父文件夹,但出于审计目的,我需要将它们彼此分开并仍在各自的文件夹中,因为每个文件都标有它最初存储的文件夹名称。

答案1

一个简单的 PowerShell 脚本示例如下所示:

Get-ChildItem -Directory -Recurse -Path . | %{
    Move-Item $_ C:\Path\To\Parent
}

这不会注意名称冲突,我不确定默认行为是什么。对于 25,000 个文件夹,您很可能会遇到重复的名称。

这也假设您的图表是错误的。因为您的初始建议意味着您将每个文件向上移动一层后将其展平。

相关内容