【发布时间】:2019-11-15 09:40:40
【问题描述】:
我有一个包含很多文件的文件夹层次结构。 我需要复制所有文件夹,并且只复制选定的文件。为此,我编写了脚本:
$path = "D:\Drop\SOA-ConfigurationManagement - Test\181"
$files = Get-ChildItem -Path $path -Recurse | ? { $_.Name -like "system.serviceModel.client.config" }
$Destination = "D:\test\"
Copy-Item $files -Destination $Destination -recurse
当我执行变量 $files 时,它返回正确的路径:
但是当我执行 Copy-Item 时,它返回的不是完整路径:
也许我的方法是错误的。如果是这样,如何复制整个文件夹结构,并且只复制选定的文件(在这种情况下是 system.serviceModel.client.config 文件)?
UPD1 好的,我找到了,如何只复制文件夹:
$path = "D:\Drop\SOA-ConfigurationManagement - Test\181\"
$Destination = "D:\test\"
Copy-Item $path $Destination -Filter {PSIsContainer} -Recurse -Force
但是如何只复制选定的文件,保留它们的位置? $Destination 变量中需要包含什么?
$files = Get-ChildItem -Path $path -Recurse | ? { $_.Name -like "system.serviceModel.client.config" } | % { Copy-Item -Path $_.FullName -Destination $Destination }
【问题讨论】:
标签: powershell copy-item