【问题标题】:If no Command-Line Arguments specified, use the directory of the command line如果未指定命令行参数,则使用命令行的目录
【发布时间】:2023-03-10 02:18:01
【问题描述】:

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

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

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

FooCA.exe .\Foo\Bar

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以用System.IO.Path.GetFullPath()解析相对目录,System.IO.Directory.GetCurrentDirectory()找到当前工作目录(也就是你说的命令行的目录)

    【讨论】:

      【解决方案2】:
      1. System.IO.Path.GetFullPath(path):返回指定路径字符串的绝对路径..

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

      【讨论】:

        【解决方案3】:

        你可以使用:

        Path.GetFullPath(args[0])
        

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

        【讨论】:

          猜你喜欢
          • 2012-11-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-17
          • 1970-01-01
          • 2011-01-22
          • 1970-01-01
          相关资源
          最近更新 更多