通过Shell.Application在多个文件上调用动词

时间:2013-09-12 12:21:28

标签: powershell com windows-shell

我正在使用“Shell.Application”COM对象通过PowerShell进行一些自动化,我遇到了需要在文件夹中的多个项目上调用动词的情况。基本上我需要模拟用户选择多个文件/文件夹并从shell菜单调用动词的情况。

我可以单个项目没有任何问题,但我没有找到方法如何在多个项目上调用它。知道怎么做吗?

修改 这是我在单个项目上调用它的方式:

$shell = New-Object -Com "Shell.Application"
$shell.Namespace($Path).Self.InvokeVerb("some action")

1 个答案:

答案 0 :(得分:0)

您可以使用InvokeVerbEx执行文件夹中的所有文件:

$shell.Namespace("C:\test").Items().InvokeVerbEx()

对于文件夹中的特定文件,我认为最好的方法是将您拥有的单项代码放在循环中:

$path1, $path2 | %{ $shell.Namespace($_).Self.InvokeVerb() }

Filter方法也可能有用