如何使用任意数量的参数从powershell调用工具



我有以下代码

$individualSlidesOutputDir = join-path ([io.path]::GetTempPath()) ([Guid]::NewGuid())
set-alias pdftk 'C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\pdftk.exe' -scope script
phantomjs ./slides2pdf.coffee $individualSlidesOutputDir #writes some files to this directory
$args = ls $individualSlidesOutputDir | %{$_.FullName}
pdftk $args[0] $args[1] $args[2] cat output slide-deck.pdf

我确实需要这个,但是$args可能有任意数量的值,使用$args -join " "不起作用,因为这似乎被解释为所有一个参数。我很确定我可以用start-process来做这个,但我希望有一个不那么麻烦的方法。

我会避免使用$args,因为这是PowerShell中保留的变量。它在这种情况下是有效的,但在其他情况下,你可能会失去获得有用参数的机会。也就是说,您应该能够像这样调用:

pdftk $args cat output slide-deck.pdf

最新更新