我目前正在尝试从命令行获取用户输入OutputPath
using (outfile = new StreamWriter(OutputPath))
{
outfile.Write(result);
}
如果给定,这将写入绝对路径或将文件写入 c:\windows\system32 下
如何使其成为绝对路径或取决于当前目录。有没有办法从命令行获取当前工作目录,或者是否有更好的 API 可以解决它。
谢谢
我目前正在尝试从命令行获取用户输入OutputPath
using (outfile = new StreamWriter(OutputPath))
{
outfile.Write(result);
}
如果给定,这将写入绝对路径或将文件写入 c:\windows\system32 下
如何使其成为绝对路径或取决于当前目录。有没有办法从命令行获取当前工作目录,或者是否有更好的 API 可以解决它。
谢谢
使用Path.IsPathRooted判断输入是否为绝对输入,使用Environment.CurrentDirectory获取当前目录。有了这些信息,你应该已经准备好了。
您可以使用Directory.GetCurrentDirectory获取当前工作目录OS
。
C# 确实知道如何使用基于当前目录的相对路径。
如果您看到在 中创建的文件C:\Windows\System32
,那么这可能是您当前的工作目录。
快捷方式可以设置它正在启动的程序的工作目录。打开/保存通用文件对话框也会与当前工作目录混淆。
如果您在不使用快捷方式的情况下启动应用程序,它将从父进程继承当前目录。 explorer.exe
通常C:\Windows\System32
作为工作目录,这使得通过双击资源管理器中的图标启动的应用程序非常常见。