如何在c#中找到文件夹的路径

本文关键字:文件夹 路径 | 更新日期: 2023-09-27 18:15:50

我的main函数从命令行接受参数。这个参数看起来像

--args ../../TempImages ../Resources.csproj etc.

如何从这个参数中找到c#中这个文件夹的完整路径?像

Users/%username%/Projects/Resource/Resource.csproj

我尝试使用路径,目录,环境类,但没有帮助我我正在使用Xamarin, MacOSX 10.9

编辑:忘了说,我不知道上面提供的全路径。我的脚本在不同的系统上运行。所以,这些文件的全路径可以不同。莫里亚蒂的回答帮助了我,但在这种情况下,它不起作用。

如何在c#中找到文件夹的路径

幸运的是,Mono在系统中很好地采用了这一点。输入输出空间。使用Environment类的方向是正确的,如下所示:

var path = Path.Combine (
    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
    "Projects", 
    "Resource", 
    "Resource.csproj");

环境。GetFolderPath与Environment.SpecialFolder结合使用。UserProfile,将获取在Windows中称为% UserProfile %的内容。

第二,注意我已经把/Projects/Resource/部分拆分为路径的单独参数。结合功能。这是为了防止Windows<>Mac<>Linux文件操作的问题,并让mono为您解决这个问题。

所以这将在所有平台上工作。享受吧!

更新:
对于那些认为这是一个错误的答案的反对者:在参考的重复文章中提到的建议在Mac或Linux上不能工作。这是因为"/paths/with/slhes"在非windows环境的Mono/Xamarin平台上的作用不同。这就是最初问题的内容。# imho