我有大量的文件,它们以非常分层的文件夹结构进行组织。在这种结构中,我关心的文件始终位于文件夹的最低级别。因此,我想展平目录,以便更轻松地访问我关心的文件。但是,我想保留文件夹结构的两个较高级别(“人员和项目”)。
这是EXISTING文件夹目录的示例:
这是DESIRED文件夹目录的示例:
我曾尝试做这样的事情,但是这会将所有文件压平到一个目录中:
for /r %f in (*) do @copy "%f" .
但是,这会产生:
我会很感激您能提供的任何指导。非常感谢!
最佳答案
这是一个Powershell方法。它获取所需级别的文件夹列表。然后,它将所有子文件上移到该级别。它还将删除子文件夹。
$Rootfolder = Dir directory\*\* -Directory
ForEach($folder in $Rootfolder)
{
Dir $folder.fullname -Recurse -File | Copy-Item -Destination $folder.fullname
Dir $folder.fullname -Recurse -Directory | Remove-Item -Force -Recurse -WhatIf
}
如果要删除它,请从最后一行删除-WhatIf。
关于powershell - 在Windows 7(cmd或PowerShell)上的子文件夹中展平文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515314/