현재 사용자의 "응용 프로그램 데이터"폴더의 경로를 얻으려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/915210

  •  06-09-2019
  •  | 
  •  

문제

1) 사용자가 작동하는 Windows 설치 드라이브를 어떻게 알 수 있습니까? 나는 이것을 탐색하려면 이것을 필요로한다 ApplicationData 문서 및 설정에서.

2) 또한 어떻게 얻을 수 있습니까? 사용자 이름 ApplicaitionData를 얻을 수 있도록 너무.? 예 : "D : 문서 및 설정 User Application Data".

도움이 되었습니까?

해결책

결합을보십시오 Environment.getFolderPath 그리고 Environment.specialfolder 이것을하기 위해.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

다른 팁

당신이하고있는 일에 따라 당신은 또한보고 싶을 수도 있습니다

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

사용자가 도메인에있는 경우 해당 지역에만 저장됩니다. AppData 폴더와 로밍 프로파일과 동기화되지 않습니다.

살펴보십시오 Environment.SpecialFolders

Environment.SpecialFolder.ApplicationData;
Environment.SpecialFolder.System

그것은 당신에게 사용자 이름 요구 사항을 반올림해야합니다.

환경 클래스와 그 속성 및 방법을 살펴보십시오.

string systemDir = System.Environment.SystemDirectory;
string docs = System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.MyDocuments));

string systemDrive = System.IO.Path.GetPathRoot(systemDir);

첫 번째는 돌아옵니다 "C : Windows System32"예를 들어 두 번째는"C : 문서 및 설정 username 내 문서".

이 시도:

string filePath = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);

1) 사용자가 작동하는 Windows 설치 드라이브를 어떻게 알 수 있습니까?

    var systemDrive =  Environment.ExpandEnvironmentVariables("%systemdrive%");

Documents 및 Settings의 ApplicationData로 이동하려면이 작업이 필요합니다.

이를 달성하기 위해 시스템 드라이브 또는 현재 사용자 이름으로 로그인 한 값을 가져올 필요는 없습니다. 미리 정의 된 환경 변수가 있습니다 %localAppData% 그리고 %appData% 아래 코드에 표시된대로 이러한 디렉토리의 자격을 갖춘 경로를 제공합니다.

var localApplicationData = Environment.ExpandEnvironmentVariables("%localappdata%"); 
//this gives C:\Users\<userName>\AppData\Local

var roamingApplicationData = Environment.ExpandEnvironmentVariables("%appdata%");
//this gives C:\Users\<userName>\AppData\Roaming

2) 또한 ApplicaitionData를 얻을 수 있도록 사용자 이름을 어떻게 얻을 수 있습니까? 예 : "D : 문서 및 설정 User Application Data".

다시 말하지만, 위에서 논의한대로 응용 프로그램 데이터 경로를 얻기 위해 사용자 이름이 필요하지 않습니다. 그래도 지식을 위해 당신은 그것을 가져올 수 있습니다. %username% 아래와 같이 환경 변수 :

    var currentUserName = Environment.ExpandEnvironmentVariables("%username%");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top