2

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

我可以在单个项目上毫无问题地做到这一点,但我还没有找到如何在多个项目上调用它的方法。知道怎么做吗?

编辑: 这就是我对单个项目的称呼:

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

1 回答 1

0

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

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

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

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

Filter方法也可能有用

于 2013-09-12T13:00:08.860 回答