이 두 가지 환경 변수 TEMP와 TMP를 갖는 것이 옳습니까? 하나를 변경하면 다른 하나를 동일하게 변경해야합니까? 예를 들어 cygwin을 설치하고 지시에 따라 PATH 변수를 변경하라는 메시지가 표시되었지만 TEMP와 TMP에는 경로 변수가 있습니다. 둘의 차이점은 무엇입니까?
사람들이 왜 이것을보고 싶어하는지 모르지만 여기에 경로의 값이 있습니다 : TEMP의 경로 : C : \ Program Files \ Common Files \ Microsoft Shared \ Windows Live; C : \ Program Files (x86) \ Common Files \ Microsoft Shared \ Windows Live; C : \ Program Files (x86) \ NVIDIA Corporation \ PhysX \ Common; % SystemRoot % \ system32; % SystemRoot %; % SystemRoot % \ System32 \ Wbem; % SYSTEMROOT % \ System32 \ WindowsPowerShell \ v1.0 \; C : \ Program Files (x86) \ Common Files \ Acronis \ SnapAPI \; C : \ Program Files (x86) \ Windows Kits \ 8.1 \ Windows Performance Toolkit \; C : \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \; C : \ Program Files (x86) \ Windows Live \ 공유
TMP의 경로 : % USERPROFILE % \ AppData \ Local \ Temp
답변
구체적으로 질문에 대답하려면 :
둘의 차이점은 무엇입니까?
다른 점이 없다. 그들은 같은 경로에서 다른 별명입니다. Mark가 언급했듯이 일부 프로그램은 %TMP%
다른 프로그램을 사용 하고 다른 프로그램은 을 사용 %TEMP%
합니다. Windows는 기본적으로 서로 다른 프로그램간에 일관성을 유지하고 동일한 프로그램에서 둘 다 사용하는 것과 같은 개발자 오류로부터 보호하기 위해 둘 다 동일한 경로에 할당합니다.
또한,주의 %Path%
변수 중 하나와는 아무 상관이 없습니다 %TMP%
또는를 %TEMP%
. %Path%
시스템 변수이며 시스템 변수 %TMP%
및 %TEMP%
사용자 변수입니다. 시스템 버전은에 링크됩니다 C:\windows\TEMP
. AFAIK, “시스템”사용자 만이 간단한 테스트에서 입증 된 것처럼 실제로 이러한 변수를 사용할 수 있습니다. cmd 창을 열고 echo %TMP%
or를 입력 echo %TEMP%
하면 사용자 버전의 변수에 정의 된 경로가 반환됩니다. 그러나 %Path%
사용자 버전이 없으므로 (기본적으로) 할 수 echo %Path%
있으며 시스템 변수의 값을 반환합니다.
프로그램이 “경로”시스템 변수를 어떻게 사용하는지는 확실하지 않습니다. cygwin이 언급 한 것일 수도 있지만 TMP 나 TEMP와는 아무런 관련이 없습니다.
그것이 귀하의 질문에 대답하기를 바랍니다.
편집 : 방금 무엇을 기억했는지 %Path%
— 파일의 전체 경로를 사용할 필요없이 변수에 지정된 경로에있는 파일에 액세스 할 수 있습니다. 예를 들어, 추가에 “C : \ MYPROG \ 빈”% 경로 %에 방금 입력하게됩니다 myprog
나 myprog --help
처럼 전체 경로를 입력하지 않고 명령 줄에 등 "C:\myprog\bin\myprog.exe" --help
. 물론 명령 줄 사용은 단지 예일 뿐이므로 전체 경로가 없어도 모든 프로그램이나 인터페이스가 모든 종류의 파일에 액세스 할 수 있습니다.
답변
다른 프로그램이 다른 프로그램을 사용하므로 둘 다 필요합니다.
그것들은 같은 것을 가리키고 있다고 가정 할 때 매우 잘못 작성된 프로그램 만이 두 가지를 모두 사용하기 때문에 같은 장소로 설정 될 필요는 없습니다.
/ tmp는 환경 변수 TMPDIR을 사용하는 Unix의 임시 파일에 대한 공통 디렉토리입니다.
메모리에서 (80 년대 중반에 이것을 사용했을 때) TEMP는 DOS에서 사용 된 원래의 것으로 TEMP는 / tmp와 일치하도록 Unix에서 포팅 된 프로그램에 의해 사용되는 경향이있었습니다. 그러나 프로그램이 DOS로 작성되었을 때 다른 개발자가 다른 것을 사용하는 컨트롤이 없었습니다. 현대 Windows에서 Microsoft의 기본값은이 문서를 참조하십시오.