将每个子目录的内容移至文件夹

时间:2019-10-14 08:32:40

标签: powershell

我有一个文件夹结构,其中Folder1中有子目录,每个子目录又包含一个同名子目录。我想从该目录中将所有子目录都移到Folder0中。有相同名称的子目录,因此它们的内容应移动到Folder0中的相应子目录中。

例如:

Folder1/Fotos Teil 1 von 178/Fotos Teil 1 von 178/Photos/*应移至Folder0/Photos/*

这是结构

Folder0
├─Photos
├─Memories
├─Albums and Favorites
│
Folder1
├─Fotos Teil 1 von 178
│ └─Fotos Teil 1 von 178
│   ├─Photos
│   ├─Memories
│   └─Albums and Favorites
│
├─Fotos Teil 2 von 178
│ └─Fotos Teil 2 von 178
│   ├─Photos
│   ├─Memories
│   └─Albums and Favorites
╎
.
.
.
╎
├─Fotos Teil 178 von 178
│ └─Fotos Teil 178 von 178
│   ├─Photos
│   └─Albums and Favorites

我了解这可能是PowerShell的工作。我只使用过bash脚本,但这需要在Windows中完成。

1 个答案:

答案 0 :(得分:2)

这里有一个简短的代码段(未经测试!)。
可能会帮助您了解逻辑以及如何在PowerShell中执行此操作。

$Source = '.\Folder1'
$Destination = '.\Folder0'

foreach ($Folder in (Get-ChildItem -Path ($Source + '\*\*\'))) #For each folder -> Photos / Memories / Albums and Favorites
{
    foreach ($Item in (Get-ChildItem -Path $Folder.FullName)) #Get all items
    {
        Move-Item -Path $Item.FullName -Destination ($Destination + '\' + $Folder.Name) #Move the items
    }
}