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

时间:2013-01-14 21:51:26

标签: powershell syntax

我有以下代码

$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 " "有任意数量的值不起作用,因为它似乎被解释为所有一个参数。我很确定我可以通过启动过程来做到这一点,但我希望有一种不那么繁琐的方式。

1 个答案:

答案 0 :(得分:3)

我会避免使用$ args,因为这是PowerShell中的保留变量。它可以在这种情况下工作,但在其他情况下,你可能会吹走对有用参数的访问。也就是说,你应该能够像这样调用:

pdftk $args cat output slide-deck.pdf