繁体   English   中英

Powershell - 复制名称与数组匹配的文件夹

[英]Powershell - Copy folders with names matching array

这就是我想要完成的事情

  1. 运行 sql 查询 - 结果 output 到 txt 文件
  2. txt文件的结果到数组
  3. 如果文件夹名称与数组中的值匹配,则获取目录中的子项文件夹和文件
  4. 将步骤 3 中返回的项目复制到另一个目录

我遇到的问题是根据数组的值过滤目录中的项目

gci $sourcepath -recurse | where {$_.name -like $idlist} | Copy-Item -Destination $DestinationHistoryPath

我假设您已经正确加载了数组。 对于这种特定情况,您不需要-like运算符。 最好使用-in-Contains 像下面这样的东西可能会起作用:

Get-ChildItem $sourcepath -Recurse | 
Where-Object {$_.Name -in $idlist} | 
Copy-Item -Destination $DestinationHistoryPath

如果您使用包含,则需要切换操作数,例如:

Get-ChildItem $sourcepath -recurse | 
Where-Object { $idlist -contains $_.Name } | 
Copy-Item -Destination $DestinationHistoryPath

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM