2016-05-25 25 views
1

私はPowerShellのにかなり新しいですし、私は次のコマンドを使用して、間違っているものを見るために苦労しています:のPowerShell:複数のファイルにコマンドを適用する

Get-ChildItem -Filter "*Q1 2016.pdf" | For.\pdftk A={$_.name} B={$_.name -replace 'Q1 2016.pdf','Q1 2016-quad.pdf'} cat A1-3 B1 A5-end output {$_.name -replace 'Q1 2016.pdf','Q1 2016-final.pdf'} 

は、私は次のエラーを取得する:

pdftk.exe : The command parameter was already specified. 
At line:1 char:40 
+ ... 2016.pdf" | .\pdftk A={$_.name} B={$_.name -replace 'Q1 2016.pdf','Q1 ... 
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : InvalidArgument: (:) [], ParameterBindingException 
+ FullyQualifiedErrorId : ParameterSpecifiedAlready 

しかし、私は単一のコマンド呼び出しを実行すると、それは正常に動作します:

​​

私は間違っていると思います?

+2

が重複する可能性をPowerShellのEXEファイル(スペースと引用符付きのパラメータ)](http://stackoverflow.com/questions/1673967/how-to-run-an-exe-file-in-powershell-with-parameters-with-spaces-and -quotes) – sodawillow

答えて

0

それはそれは、このようにする必要があり判明:どういうわけか

Get-ChildItem -Filter “*Q1 2016.pdf” | ForEach {.\pdftk A=$($_.name) B=$($_.name -replace ‘Q1 2016.pdf’,’Q1 2016-quad.pdf’) cat A1-3 B1 A5-end output $($_.name -replace ‘Q1 2016.pdf’,’Q1 2016-final.pdf’)}

、次は動作しませんが、上記行います実行する[方法の

Get-ChildItem -Filter “*Q1 2016.pdf” | ForEach {.\pdftk A={$_.name} B={$_.name -replace ‘Q1 2016.pdf’,’Q1 2016-quad.pdf’} cat A1-3 B1 A5-end output {$_.name -replace ‘Q1 2016.pdf’,’Q1 2016-final.pdf’}}

+0

これは元にしようとしている可能性があります$($ variable)構文が必要な理由を明白にしなさいhttp://stackoverflow.com/questions/13615676/what-does-variablename-mean-in-powershell – user1690166

関連する問題