1

我有以下代码

$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 可能有任意数量的值 using$args -join " "不起作用,因为这似乎被解释为所有一个参数。我很确定我可以用 start-process 做到这一点,但我希望有一种不那么麻烦的方法。

4

1 回答 1

3

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

pdftk $args cat output slide-deck.pdf
于 2013-01-14T22:19:50.517 回答