0

たとえば、実行するファイルのパスを取得するアプリケーションにファイルダイアログがあります。

C:\filespool\run.exe

これを exepath という文字列変数に入れて、このコードで実行します

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.WorkingDirectory = path;
proc.StartInfo.FileName = exepath;
proc.Start();

作業ディレクトリを設定したことがわかりますが、最善の方法でそれを取得する方法がわからないので、ここで知っている人に尋ねます。作業ディレクトリ「C:\filespool」の取得方法。

4

4 に答える 4

2

何が必要かはわかりませんが、 FileInfo.Directoryを使用してファイルパスのディレクトリを取得できます。

于 2011-11-10T19:25:51.823 に答える
2

FileInfoオブジェクトを作成し、そのDirectoryNameプロパティを参照できます。System.IO名前空間を含める必要があります。

FileInfo f = new FileInfo(exepath);
string path = f.DirectoryName;

これがドキュメントです。

于 2011-11-10T19:26:27.887 に答える
1

Directory.GetCurrentDirectory メソッドを試す

http://msdn.microsoft.com/en-us/library/system.io.directory.getcurrentdirectory.aspx

于 2011-11-10T19:28:40.510 に答える
0

ここに1つの答えがあります。準備ができていない場合、それはあなたをつまずかせる可能性があるものです。ダイアログボックスを開く(または保存する)と、Environment.CurrentDirectoryがダイアログのディレクトリに変わります。それで:

path = Environment.CurrentDirectory;
exepath = dlg.FileName;
于 2011-11-10T20:50:38.760 に答える