如果未指定命令行参数,请使用命令行的目录

时间:2012-01-31 14:02:02

标签: c# command-line command-line-arguments

在c#console应用程序中,我打算获取相应的目录。例如,假设我有以下代码:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(args[0]);
    }
}

我在命令提示符下执行此操作:

  

FooCA.exe。\ Foo \ Bar

我得到的是完全相同的字符串。那么,我该如何将其转换为完整路径?

如果没有指定命令行参数,我想获取命令行的目录。

3 个答案:

答案 0 :(得分:2)

您可以使用System.IO.Path.GetFullPath()来解析相关目录,使用System.IO.Directory.GetCurrentDirectory()来查找当前工作目录(即命令行的目录,如您所说)

答案 1 :(得分:1)

  1. System.IO.Path.GetFullPath(path):返回指定路径字符串的绝对路径。

  2. Environment.CurrentDirectory:获取或设置当前工作目录的完全限定路径。

答案 2 :(得分:0)

您可以使用:

Path.GetFullPath(args[0])

这将考虑当前正在执行的目录。从用户输入中获取路径时要小心验证路径,因为它们可能是恶意的。