2017-12-16 5 views
0
string var1 = "drive"; 
string var2 = "parent"; 
string var3 = "testpath"; 
string var4 = "mypath"; 
string var5 = "partpath"; 
string var6 = "mypath2"; 
string path1 = "E:\\"; 
string path2 = "%drive%ParentFolder"; 
string path3 = "%parent%\\Parent.txt"; 
string path4 = "E:\\ParentFolder\\Parent.txt"; 
string path5 = "E:\\ParentFolder\\"; 
string path6 = "%partpath%Parent.txt"; 
Environment.SetEnvironmentVariable(var1, path1, EnvironmentVariableTarget.User); 
Environment.SetEnvironmentVariable(var2, path2, EnvironmentVariableTarget.User); 
Environment.SetEnvironmentVariable(var3, path3, EnvironmentVariableTarget.User); 
Environment.SetEnvironmentVariable(var4, path4, EnvironmentVariableTarget.User); 
Environment.SetEnvironmentVariable(var5, path5, EnvironmentVariableTarget.User); 
Environment.SetEnvironmentVariable(var6, path6, EnvironmentVariableTarget.User); 

부터 시작한다면 % testpath %, 결과는 (이는 VAR3의 경로 3 인) : % 부모 % Parent.txt가 나는 경우SetEnvironmentVariable은 작동하지 않습니다 % VAR % target.extension

를 찾을 수 없음 % mypath % (var4 path4)를 시작했습니다. 결과 : 성공적으로 Parent.txt를 엽니 다.

% mypath2 % (var6 path6)를 시작하면 % parent % Parent.txt를 찾을 수 없습니다.

SetEnvironmentVariable을 통해 설정된 % var % \ application.exe를 사용하는 데 문제가있는 것으로 보입니다.

누구나 동일한 문제가 있습니까? 사전에

감사 getenvironmentalvariable 값

답변

0

마 교체 재귀 논리가 작동하지 않는 경우.

+0

이 설정 환경 변수가 다른 순서 (경쟁 조건)로 제공 될 수있는 경우 getenvironmentvariable은 결과 값을 먼저 가져 와서 후속 변수로 설정할 수 없습니다. – Jayden