一尘不染

获取当前文件夹路径

c#

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

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

有任何想法吗?


阅读 353

收藏
2020-05-19

共1个答案

一尘不染

你应该
使用Directory.GetCurrentDirectory()你的情况,当前目录可以从执行文件夹不同,尤其是当你通过一个快捷方式执行程序。

最好Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);用于您的目的。这将返回当前正在执行的程序集所在的路径名。

正如 SonerGönül 在回答中所说的,虽然我建议的方法使您可以区分执行程序集,输入程序集或任何其他加载的程序集,

System.IO.Path.GetDirectoryName(Application.ExecutablePath);

可能也足够。这等于

System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
2020-05-19