2016-07-21 16 views
0

次の2行だけを実行します。devenv.comをpowershellで呼び出すには?

cd SomeDirectory 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com 
    Source\MySolution.sln /build Release /project Source\My\Setup\Project.vdproj 

すべてを引用符で囲むと、コンソールに文字列を印刷する以外に何も起こっていないようです。それを実行するためのプログラムへのパスを引用する場合

答えて

1

あなたは&を付加する必要があります。コマンドモードと表現モード:

& "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" Source\MySolution.sln /build Release /project Source\My\Setup\Project.vdproj" 

理由は、PowerShellは二つの異なる解析モードを有しているということで。しかし、引用符で囲まれた文字列は表現モードに切り替わります。したがって、呼び出しオペレータ,&が明示的に必要です。

別のこと:PowerShellは、ネイティブプログラムが共有していない現在のディレクトリの概念が異なるため、引数の絶対パスを使用する必要があります。

+0

Source \ MySolution.slnに ""で完全なパスを含めるにはどうすればよいですか? – Yiping

+1

@Yiping:必要に応じて引用符で囲みます。 PowerShellは引き続き引数を解析し、独自のルールに基づいて外部プログラムへの引数を引用します。 ' - %'(cf. 'Get-Help about_parsing')を使うと助けになります。 – Joey

関連する問題