我似乎要和这个人一起四处走动,而且我没有太多时间。我想将文件从多个子目录复制到目标。现在要求这些文件必须与列表中的文件相匹配。这些文件有不同的扩展名。看看我在下面尝试了什么:
$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
答案 0 :(得分:1)
使用-match
运算符来测试名称是否在-contains
数组中,而不是$filter
:
Where-Object { $filter -contains $_.Name }
在PowerShell版本> = 3.0中,您还可以使用-in
运算符:
Where-Object { $_.Name -in $filter }