2016-10-07 4 views
1

C# porgram으로 일부 데이터를 관리하려고합니다. 데이터는 일반적으로 바탕 화면이나 유사한 기본 Windows 위치에 있습니다. 지금은 특정 폴더의 전체 경로를 입력하지만 %ProgramFiles(x86)%, %appdata%과 같은 바로 가기가 있다는 것을 알고 있습니다.% appdata %와 같은 바로 가기가 더 있습니까?

더 많은 것들이 있습니까? 내 프로그램에서 사용할 수 있습니까?

+3

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

글을 쓰는 시점에서, Environment.SpecialFolder 열거 값이 cmd.exe를 열고 프롬프트에서 환경 변수를 나열하기 위해'set'을 입력하십시오. 그것들은'% xxxx %'형식으로 사용할 수 있습니다. .NET 내에서 그들은 ['Environment.GetEnvironmentVariable (...)'] (https://msdn.microsoft.com/en-us/library/77zkk0b6%28v=vs.110%29.aspx)를 통해 액세스됩니다. 방법. – Iridium

+0

예 ['Environment.SpecialFolder'] (https://msdn.microsoft.com/en-us/library/system.environment.specialfolder (v = vs.110) .aspx) 경로입니다. –

+0

SpecialFolder에는 'Resources'와 같은 항목이 포함되어 있지만 '% Resources %'형식에서는 사용할 수 없지만 프로그램에서는 사용할 수 있습니다. – stuartd

답변

0

많은 시스템 변수가 있습니다. 예, 프로그램에서 사용할 수 있습니다.

Environment Variable Path 
%ALLUSERSPROFILE% C:\ProgramData 
%APPDATA% C:\Users\{username}\AppData\Roaming 
%COMMONPROGRAMFILES% C:\Program Files\Common Files 
%COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files 
%COMSPEC% C:\Windows\System32\cmd.exe 
%HOMEDRIVE% C: 
%HOMEPATH% C:\Users\{username} 
%LOCALAPPDATA% C:\Users\{username}\AppData\Local 
%PROGRAMDATA% C:\ProgramData 
%PROGRAMFILES% C:\Program Files 
%PROGRAMFILES(X86)% C:\Program Files (x86) (only in 64-bit version) 
%PUBLIC% C:\Users\Public 
%SystemDrive% C: 
%SystemRoot% C:\Windows 
%TEMP% and %TMP% C:\Users\{username}\AppData\Local\Temp 
%USERPROFILE% C:\Users\{username} 
%WINDIR% C:\Windows 
0

사람들은 환경 변수이고, 당신이 새로운 직접 추가하거나 원하는대로 편집 할 수 있습니다 :

몇 이름을 지정합니다. Here은 운영 체제에서 이미 설정 한 일부 기본값입니다. 모든 현재 환경 변수 목록을 얻으려면 명령 프롬프트를 열고 SET을 입력하십시오. 또는 프로그래밍 방식으로 Environment.GetEnvironmentVariable()을 사용하십시오. 그것들 모두는 당신의 어플리케이션에서 사용 가능합니다.

1

,하지만 당신은 아마 Environment.SpecialFolder 열거와 Environment.GetFolderPath를 사용하는 것을 선호 것입니다. 예를 들어 :

Desktop, Programs, MyDocuments, Personal, Favorites, Startup, Recent, SendTo, StartMenu, MyMusic, MyVideos, DesktopDirectory, MyComputer, NetworkShortcuts, Fonts, Templates, CommonStartMenu, CommonPrograms, CommonStartup, CommonDesktopDirectory, ApplicationData, PrinterShortcuts, LocalApplicationData, InternetCache, Cookies, History, CommonApplicationData, Windows, System, ProgramFiles, MyPictures, UserProfile, SystemX86, ProgramFilesX86, CommonProgramFiles, CommonProgramFilesX86, CommonTemplates, CommonDocuments, CommonAdminTools, AdminTools, CommonMusic, CommonPictures, CommonVideos, Resources, LocalizedResources, CommonOemLinks, CDBurning

당신은 다음 몇 가지 경로를 구성하기 위해이 정보를 사용해야하는 경우 :

var somePath = System.IO.Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
    @"some\path\into\this\folder"); 
관련 문제