【发布时间】:2019-10-14 08:32:40
【问题描述】:
我有一个文件夹结构,其中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 中完成。
【问题讨论】:
-
所以您希望将更深的
photos目录中的所有文件移动到顶级photos目录?对更深层次的其他目录也要这样做吗? -
是的,就是这样。将“Folder1/foo/foo/”中的所有文件夹移动到“Folder0”。如果它们已经存在(例如“照片”),请移动包含的文件。
-
当您使用
Get-ChildItem加载目录信息对象时,您可以使用.Parent属性来查找父目录。你可以做.Parent.Parent来获取两个父目录......然后比较它们。如果它们相同,则您有一个双名目录。 ///// 然而,一种更简单的方法可能是获取任何具有所需名称但不在顶层的目录。
标签: powershell