2017-05-16 378 views
0

C:\ Folderに、input.xml、output.xml、およびlicensegenerator.exeというファイルを持つフォルダがあります。 Licensegenerator.exeは、input.xmlに格納された変数を取り、output.xmlファイルを使用してプログラムの一時ライセンスを作成します。 \フォルダのディレクトリを、コマンドを実行している:私たちは、一般的にCに移動して、コマンドラインを介してこれを行うPowerShellから* .exeファイルを実行するには

LicenseGenerator.exe "C:\Folder\input.xml" "C:\Folder\output.xml" 

私はPowerShellでまったく同じことを行うためのスクリプトを記述しようとするんだけど、私は私もInvoke-Expressionで実行されているが、それは言う以外(正確に同じエラーを取得しようとしている

 
Invoke-Command : A positional parameter cannot be found that accepts argument 
'C:\Folder\Output.xml'. 
At line:5 char:1 
+ Invoke-Command $licengegen "$inputtest" "$outputtest" 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [Invoke-Command], ParameterBindingException 
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeCommandCommand 

:私はこれを実行すると

$inputtest = "C:\Folder\Input.xml" 
$outputtest = "C:\Folder\Output.xml" 
$licensegen = "C:\Folder\LicenseGenerator.exe" 

Invoke-Command $licensegen "$inputtest" "$outputtest" 

が、私はエラーを取得:苦労...ここで私が持っているものです" Invoke-Expression ")を使用します。誰も私がここで間違っていることを考えている?

+0

&$ licensegenでInvoke-Commandコマンドを置き換える "$ inputtest" "$トリックをした" outputtest。皆さん、ありがとうございました! –

答えて

2

あなたはcall operatorを探しています:

& $licensegen "$inputtest" "$outputtest" 

Invoke-Commandは、他のホスト上および/または他のユーザーのコンテキストでscriptblocksを実行するための本質的です。

1

Start-Process あなたはrunas、出力のリダイレクト、子プロセスウィンドウの非表示などができるので、素晴らしいことです。

Start-Process -FilePath $licensegen -Argumentlist $inputtest,$outputtest

-1

& "[パス]コマンド" [引数]

だけ&

関連する問題