【问题标题】: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】:
System.IO.Path.GetFullPath(path):返回指定路径字符串的绝对路径..
Environment.CurrentDirectory:获取或设置当前工作目录的全限定路径。
【解决方案3】:
你可以使用:
Path.GetFullPath(args[0])
这将考虑到当前的执行目录。从用户输入获取路径时请小心验证路径,因为它们可能是恶意的。