我想创建一个转换文件的程序。我希望用户能够将可执行文件放在任何目录,当执行该程序(双击.exe),我希望程序处理当前文件夹内的所有文件,其中exe文件存在。程序如何确定当前正在执行的路径?

我尝试了System.Windows.Forms.Application.StartupPath,但这似乎是错误的方式。

什么好主意吗?


当前回答

如果你想要项目文件夹的路径,你也可以这样做:

        DirectoryInfo di = new DirectoryInfo(".");
       //OR 
        DirectoryInfo di = new DirectoryInfo("../../../");

        Console.WriteLine(di.FullName);

结果: D: \开发\ c# \ ProjectFolder \ ProjectFolder \

其他回答

试试这个:

System.Environment.CurrentDirectory

如果你想要exe路径,你可以使用System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

System.AppDomain.CurrentDomain.BaseDirectory

这将为您提供应用程序的运行目录。这甚至适用于web应用程序。然后你就可以拿到你的文件了。

string appPath = System.IO.Path.GetDirectoryName(Application.ExecutablePath);

从路径。GetDirectoryName

返回指定路径字符串的目录信息。

从应用程序。ExecutablePath

获取启动应用程序的可执行文件的路径, 包括可执行文件名称。

对于。net CORE使用System.AppContext.BaseDirectory

(替换AppDomain.CurrentDomain.BaseDirectory)