현재 사용자의 "응용 프로그램 데이터"폴더의 경로를 얻으려면 어떻게해야합니까?
문제
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%");