C#控制台应用程序,是获取args文件的正确路径的最安全方法

时间:2017-05-01 00:28:47

标签: c#

我有一个可以在任何地方运行的环境路径中的控制台应用程序。如果用户键入

Program filename

从文件退出的目录

File.Exists(args[0])

告诉我文件存在。 但是当传递args [0]时它只是文件名,所以我假设C#预先添加:

Environment.CurrentDirectory

因为应用程序可以从任何地方运行,并且命令行可以从绝对路径的相对路径获得大量可能的输入,我想知道什么是获取文件所在的正确目录的最安全的方法。

以下似乎工作得很好,但如果我错过了某些东西,那就更好了,这是更好的方法。

string dir = Path.GetDirectoryName(args[0]);
if (String.IsNullOrEmpty(dir))
dir = Environment.CurrentDirectory;

非常感谢提前。

1 个答案:

答案 0 :(得分:3)

使用Path.GetFullPath(args[0]) - 这会将文件名解析为您的全名。