我有一个名为“文件夹测试”的文件夹。在“文件夹测试”文件夹中,有3个子文件夹:“ A”,“ B-1”,“ C-1”。
如何使用“ Get-ChildItem”获取名称中包含“-”的文件夹列表(“ B-1”,“ C-1”)。然后,使用“ ForEach-Object”和“ Copy-Item”将名称(“ B-1”,“ C-1”)中包含“-”的文件夹复制到另一个文件夹。
我的旧代码:
$path = (gci "D:\Folder-All" -Filter "Folder-Test" -Recurse).FullName
mkdir "D:\Another-Folder"
Get-ChildItem $path -Directory |
ForEach-Object {if (($_.enumeratefiles() | measure).count -gt 0)
{Copy-Item $path "D:\Another-Folder" -Filter {PSIsContainer} -Recurse -Force}
}
答案 0 :(得分:0)
这将获取“ D:\ Folder-All \ Folder-Test”中所有名称中包含短划线的目录,然后将其递归复制到“ D:\ Another-Folder”。
Get-ChildItem -Path "D:\Folder-All\Folder-Test\*-*" -Directory |
Copy-Item -Destination "D:\Another-Folder" -Recurse