我最近被介绍给PowerShell,并认为这个任务将是PowerShell应该处理得很好的事情。
我有一个.txt
文件,每行包含一个字符串。这些字符串是文件名的子字符串。如何搜索目录(递归)并将所有匹配移动到目标目录?
我查看Get-ChildItem
,但我找不到使用文件进行过滤的方法。过滤器文件可以格式化为任何必要的,但我只有文件名的子串。
任何拥有解决方案的精明PowerShell用户?
答案 0 :(得分:0)
这样的事情应该有效:
$names = Get-Content names.txt
Get-Childitem C:\path\ -include $names -recurse | move-item X:\targetpath\
如果你的名字文件包含完整的文件名,包括扩展名,这将有效。由于情况不是这样,你可以这样做:
$names = Get-Content names.txt | % {"*$_*"}