Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何指定通用路径?_C#_.net_Path - Fatal编程技术网

C# 如何指定通用路径?

C# 如何指定通用路径?,c#,.net,path,C#,.net,Path,我想知道在写入磁盘时是否可以指定通用路径 假设我有以下路径:C:\ProgramFiles\Microsoft.NET 在写入该目标时,如何使路径通用 并非所有本地路径都设置为c:\ 我确实试过:。\Program Files\Microsoft.NET,但没有成功 更新: 我需要写入特定的位置/路径,但路径一直在更改。。。它并不总是指向程序文件\Microsoft.NET。下次我需要写入磁盘时,可能需要一个完整的新目标路径,如:c:\NewTestFolder\Test1 这就是为什么我需要一

我想知道在写入磁盘时是否可以指定通用路径

假设我有以下路径:
C:\ProgramFiles\Microsoft.NET

在写入该目标时,如何使路径通用

并非所有本地路径都设置为
c:\

我确实试过:
。\Program Files\Microsoft.NET
,但没有成功

更新:

我需要写入特定的位置/路径,但路径一直在更改。。。它并不总是指向
程序文件\Microsoft.NET
。下次我需要写入磁盘时,可能需要一个完整的新目标路径,如:
c:\NewTestFolder\Test1

这就是为什么我需要一种“通用”方法来指定路径的
c:\
部分。

您可以使用环境类

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);

通过该调用,您可以获得程序文件目录的路径。

您可以使用环境变量。%ProgramFiles%将在C:\Program Files中生成示例

要使用环境变量,可以使用environment.ExpandEnvironmentVariables方法:

Environment.ExpandEnvironmentVariables("%ProgramFiles%");

使用Environment类,但请注意,如果使用Windows XP之后的Windows版本,则无法在指定路径中写入或读取,除非您具有管理员权限

问候

string tempPath = "..\\Program Files\\Microsoft.NET";
string outputPath = System.IO.Path.GetFullPath(tempPath);

结果将是
C:\\Program Files\\Microsoft.NET

您到底需要做什么?你必须读或写到一个特定的位置还是什么?你说的“通用”是什么意思?你说的“通用路径”是什么意思?如果您想要应用程序所在磁盘的根目录,它与linux类似:
\Program Files\Microsoft.NET
-但是使用环境变量会更好。您是指programs文件夹(这是一个特殊的已知文件夹,并且有一个枚举)还是更通用的文件夹(这是不可能的).再说一遍,“通用”是什么意思?您从何处获取“C:”(或其他内容)?但这将生成一个相对于当前文件夹的父文件夹的路径,该文件夹是程序运行所在的文件夹!