如何将多个子目录中的源文件与列表进行匹配,然后使用PowerShell复制到目标

时间:2016-09-03 13:55:55

标签: powershell

我似乎要和这个人一起四处走动,而且我没有太多时间。我想将文件从多个子目录复制到目标。现在要求这些文件必须与列表中的文件相匹配。这些文件有不同的扩展名。看看我在下面尝试了什么:

$source = "C:\pike"
$destination = "c:\pike2"
$filter = get-content 'C:\same.txt'
Get-ChildItem $source -recurse | Where-Object { $_.Name -match $filter } |   Copy-Item -Destination $destination

1 个答案:

答案 0 :(得分:1)

使用-match运算符来测试名称是否在-contains数组中,而不是$filter

Where-Object { $filter -contains $_.Name }

在PowerShell版本> = 3.0中,您还可以使用-in运算符:

Where-Object { $_.Name -in $filter }