C#.Net从文件对话框获取工作目录

C#.Net从文件对话框获取工作目录,c#,.net,execute,filedialog,working-directory,C#,.net,Execute,Filedialog,Working Directory,例如,我的应用程序中有一个filedialog,它获取要执行的文件的路径 C:\filespool\run.exe 现在我把它放在一个名为exepath的字符串变量中,并用下面的代码执行它 System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.WorkingDirectory = path; proc.StartInfo.FileName = exepath; proc.Start()

例如,我的应用程序中有一个filedialog,它获取要执行的文件的路径

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”。

我不确定您完全需要什么,但您可以使用它来获取文件路径的目录。

我不确定您完全需要什么,但您可以使用它来获取文件路径的目录。

您可以创建
FileInfo
对象并引用其
DirectoryName
属性。您必须包含
System.IO
名称空间

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

这是文档。

您可以创建
FileInfo
对象并引用其
DirectoryName
属性。您必须包含
System.IO
名称空间

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

这是文档。

尝试Directory.GetCurrentDirectory方法


尝试Directory.GetCurrentDirectory方法


这里有一个答案。如果你还没有准备好的话,它会让你绊倒。打开(或保存)对话框后,Environment.CurrentDirectory将更改为该对话框的目录。因此:

path = Environment.CurrentDirectory;
exepath = dlg.FileName;

这里有一个答案。如果你还没有准备好的话,它会让你绊倒。打开(或保存)对话框后,Environment.CurrentDirectory将更改为该对话框的目录。因此:

path = Environment.CurrentDirectory;
exepath = dlg.FileName;