我正在使用“Shell.Application”COM对象通过PowerShell进行一些自动化,我遇到了需要在文件夹中的多个项目上调用动词的情况。基本上我需要模拟用户选择多个文件/文件夹并从shell菜单调用动词的情况。
我可以单个项目没有任何问题,但我没有找到方法如何在多个项目上调用它。知道怎么做吗?
修改 这是我在单个项目上调用它的方式:
$shell = New-Object -Com "Shell.Application"
$shell.Namespace($Path).Self.InvokeVerb("some action")
答案 0 :(得分:0)
您可以使用InvokeVerbEx
执行文件夹中的所有文件:
$shell.Namespace("C:\test").Items().InvokeVerbEx()
对于文件夹中的特定文件,我认为最好的方法是将您拥有的单项代码放在循环中:
$path1, $path2 | %{ $shell.Namespace($_).Self.InvokeVerb() }
Filter
方法也可能有用