2017-06-29 10 views
0

以下のように作業ディレクトリを指定する方法はありますか?Process.ファイルパスと同じ文字列の作業ディレクトリを開始

Process.Start("c:\someDir\someExecutable.exe + working directory path"); 

かと、Windows環境変数のパスワークにする方法:

Process.Start("c:\someDir\someExecutable.exe"); 

を私はProcessStartInfoは、作業ディレクトリを指定するために使用することができることを知っています。 作業ディレクトリとファイルパスを同じパラメータのProcess.Start()に入れたいという私自身の理由があります。

+0

これは、実行可能ファイルの一部がコマンドライン引数として作業ディレクトリを提供できるかどうかによって異なりますか?なぜあなたは 'ProcessStartInfo'を使用できませんか? – Sayse

+0

その理由は何でしょうか?最終的にはコール時に分割する必要がありますが、両方を常に分離したままにしたり、一方を他方から計算するほうが良い方法です。 – Alejandro

+0

@Sayse私はapplication.plusの設定ファイルにファイルパスを渡す必要があるので、私はそれのコードを変更することはできません。 –

答えて

2

public static Process Start(string fileName)のドキュメントはここに発見された:https://msdn.microsoft.com/en-us/library/53ezey2s(v=vs.110).aspx

あなたはそのパラメータの記述がある見ることができるように:

プロセスで実行するには、ドキュメントやアプリケーションファイルの名前。

発言も注意してください。

このオーバーロードは、プロセスのコマンドライン引数を許可していません。プロセスに1つ以上のコマンドライン引数を指定する必要がある場合は、Process.Start(ProcessStartInfo)またはProcess.Start(String、String)オーバーロードを使用します。

だから、これを行うことはできません。あなたのプログラムがコマンドライン引数として作業ディレクトリを受け入れたとしても、このオーバーロードは機能しません。