현재 사용자의 임시 폴더를 가져오는 방법
현재 사용자의 임시 폴더 경로를 가져오기 위해 다음 기능을 사용하고 있습니다.
string tempPath = System.IO.Path.GetTempPath();
일부 컴퓨터에서는 다음과 같은 현재 사용자의 임시 폴더 경로를 제공합니다.
C:\문서 및 설정\관리자\로컬 설정\온도\
일부 컴퓨터에서는 다음과 같은 시스템 임시 폴더 경로를 제공합니다.
C:\Windows\TEMP
MSDN Documentation은 또한 위의 API가 현재 시스템의 임시 폴더를 반환한다고 말합니다.
다음과 같은 현재 사용자의 임시 폴더 경로를 제공하는 다른 API가 있습니까?
C:\문서 및 설정\관리자\로컬 설정\온도\
System.IO.Path.GetTempPath()
에 대한 네이티브 통화의 포장지일 뿐입니다.GetTempPath(..)
커널32에서.
http://msdn.microsoft.com/en-us/library/aa364992(VS.85).aspx 을 살펴보십시오.
해당 페이지에서 복사됨:
GetTempPath 함수는 다음 순서로 환경 변수의 존재를 확인하고 발견된 첫 번째 경로를 사용합니다.
- TMP 환경 변수에 의해 지정된 경로입니다.
- TEMP 환경 변수에 의해 지정된 경로입니다.
- USERPROFILE 환경 변수에 의해 지정된 경로입니다.
- 윈도우즈 디렉터리.
"Windows 디렉토리"가 Windows 아래의 임시 디렉토리를 의미하는지 아니면 Windows 디렉토리 자체를 의미하는지는 잘 모르겠습니다.윈도우즈 디렉터리에 임시 파일을 덤프하는 것 자체가 바람직하지 않은 경우처럼 들리지만, 누가 알겠어요.
따라서 이 페이지를 당신의 게시물과 결합하면 관리자 사용자에 대한 TMP, TEMP 또는 USERPROFILE 변수 중 하나가 창 경로를 가리키거나, 그렇지 않으면 설정되지 않고 창 임시 경로로 폴백됩니다.
사용하지 마십시오.
System.Environment.GetEnvironmentVariable("TEMP")
환경 변수를 재정의할 수 있으므로,TEMP
변수가 반드시 디렉터리일 필요는 없습니다.
올바른 방법은 다음을 사용하는 것입니다.System.IO.Path.GetTempPath()
인정된 회답과 같이
환경 내에 존재해야 하는 특정 루트 디렉터리에 로그를 저장해야 합니다.
public static readonly string DefaultLogFilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
하위 디렉터리와 결합하려면 다음을 사용할 수 있어야 합니다.Path.Combine( ... )
.
그GetFolderPath
메서드에는 지정된 경로를 만들 것인지 아니면 단순히 확인할 것인지를 제어할 수 있는 특수 폴더 옵션에 대한 오버로드가 있습니다.
언급URL : https://stackoverflow.com/questions/944483/how-to-get-temporary-folder-for-current-user
'programing' 카테고리의 다른 글
개발자 ID인 macOS Installer 패키지 준비 (0) | 2023.05.06 |
---|---|
Eclipse/Maven 오류: "이 환경에는 컴파일러가 제공되지 않습니다." (0) | 2023.05.06 |
Java mongodb 드라이버에서 "_id" 필드를 사용하여 문서를 쿼리하는 방법은 무엇입니까? (0) | 2023.05.06 |
원격 Git 저장소의 URI(URL)를 변경하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
Python 3에서 맵이 목록 대신 맵 객체를 반환하는 이유는 무엇입니까? (0) | 2023.05.06 |