查找并复制由txt文件过滤的文件

时间:2014-11-21 09:39:23

标签: windows powershell filtering

我最近被介绍给PowerShell,并认为这个任务将是PowerShell应该处理得很好的事情。

我有一个.txt文件,每行包含一个字符串。这些字符串是文件名的子字符串。如何搜索目录(递归)并将所有匹配移动到目标目录?

我查看Get-ChildItem,但我找不到使用文件进行过滤的方法。过滤器文件可以格式化为任何必要的,但我只有文件名的子串。

任何拥有解决方案的精明PowerShell用户?

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

$names = Get-Content names.txt
Get-Childitem C:\path\ -include $names -recurse | move-item X:\targetpath\

如果你的名字文件包含完整的文件名,包括扩展名,这将有效。由于情况不是这样,你可以这样做:

$names = Get-Content names.txt | % {"*$_*"}