如何在c#控制台应用程序的运行时获取真正的启动路径

时间:2015-04-02 10:45:07

标签: c#

我创建了一个控制台应用程序,我将其快捷方式放在sendto目录中。

现在我在某个OTHER目录中选择一个文件列表到sendto快捷方式,并想知道其他目录是什么。

我尝试了许多内容,例如Directory.GetCurrentDirectoryEnvironment.CurrentDirectory,但它返回了exe的路径,而不是我选择文件的其他目录。

你知道怎么做?

3 个答案:

答案 0 :(得分:1)

您需要查看Windows传递给您的应用程序的文件的路径名。

从Windows PoV,文件所在的目录没有什么特别之处; Windows只是将这些文件的路径传递给您的应用程序。正如上面的评论者所说,你可以使用Path类的成员来操作路径并提取目录名称,如果这是你想要的。

这里有三个不同的概念:

  • .EXE所在的目录(执行期间不会更改)
  • '当前'或者'工作'目录(通常与' 1'相同,但不一定) - 可能会在运行时发生变化 - 最初是由谁启动您的应用程序控制的。
  • 您的应用程序使用的文件驻留的目录 - 在应用程序的生命周期中,这可能是许多不同的时间。

答案 1 :(得分:0)

AppDomain.CurrentDomain.BaseDirectory

答案 2 :(得分:0)

添加到参考Windows.Forms:

using System.Windows.Forms;

Application.StartupPath