1

我目前正在尝试从命令行获取用户输入OutputPath

 using (outfile = new StreamWriter(OutputPath))
 {
     outfile.Write(result);
 }

如果给定,这将写入绝对路径或将文件写入 c:\windows\system32 下

如何使其成为绝对路径或取决于当前目录。有没有办法从命令行获取当前工作目录,或者是否有更好的 API 可以解决它。

谢谢

4

3 回答 3

4

使用Path.IsPathRooted判断输入是否为绝对输入,使用Environment.CurrentDirectory获取当前目录。有了这些信息,你应该已经准备好了。

于 2012-08-09T21:50:24.983 回答
2

您可以使用Directory.GetCurrentDirectory获取当前工作目录OS

于 2012-08-09T21:42:48.637 回答
2

C# 确实知道如何使用基于当前目录的相对路径。

如果您看到在 中创建的文件C:\Windows\System32,那么这可能是您当前的工作目录。

快捷方式可以设置它正在启动的程序的工作目录。打开/保存通用文件对话框也会与当前工作目录混淆。

如果您在不使用快捷方式的情况下启动应用程序,它将从父进程继承当前目录。 explorer.exe通常C:\Windows\System32作为工作目录,这使得通过双击资源管理器中的图标启动的应用程序非常常见。

于 2012-08-09T21:45:52.023 回答