2013-07-02 1 views
-1

CMD.exe에서 다음 명령을 실행했을 때 diff WKS에서 다른 결과가 나타나는 이상한 문제가 있습니다. 모든 WKS는 windows-xp sp3입니다.cmd.exe의 "echo % temp %"에 대한 문제

c:\> echo %temp% 

하나입니다 : C:\Documents and Settings\HWU\LOCALS~1\Temp

내가 알고, 두 결과가 같은 위치에 있지만, 두 번째는 우리의 일부 배치 파일을 차단합니다 내가 배치 파일을 수정할 수 없습니다 : C:\DOCUME~1\HWU\LOCALS~1\Temp
다른입니다.

일부 설정을 수정하면 어떻게하면 처음과 같이 보이게 할 수 있습니까?

아무도 알려 주시겠습니까?

감사합니다.

+1

두 번째 파일에는 공백이 있기 때문에 "C : \ Documents and Settings \ HWU \ LOCALS ~ 1 \ Temp"와 같이 경로를 ""둘러싸 야합니다. –

+0

올바른 조언은 다음과 같습니다. 스크립트. 그들은 나이가 들어서 경로를 포함하는 변수 주위에 큰 따옴표가 있어야합니다. 긴 파일 이름은 지난 세기에 도입되었습니다. –

+0

@ user2511414 예, ""(을)를 사용하면 문제가 없지만 스크립트를 수정할 수는 없습니다. –

답변

1

해당 호스트의 모든 사용자 프로필에 대해 %TEMP% 변수를 수동으로 조정해야합니다.

그런 다음 해당 호스트의 [HKLM\SYSTEM\CurrentControlSet\Control\FileSystem] 레지스트리 키에서 NtfsDisable8dot3NameCreation 값을 확인하십시오. 1로 설정되어있는 경우 0으로 변경하십시오 (재부팅 필요). 이는 기존의 %TEMP% 변수 (프로파일 작성 중에 작성된 정적 변수)를 수정하지 않지만 %TEMP% 변수에 8.3이 아닌 경로로 향후 프로파일이 작성되지 못하게합니다.

그래도 스크립트를 수정하는 것이 좋습니다. 그것은 문제의 근본 원인에 대한 해결책입니다.

+0

NtfsDisable8dot3NameCreation은 모든 WKS에서 0입니다. 그러나 일부 WKS에는 dir/x에 의한 dos 8.3 단축 검사가 없습니다. 나는 이유가 없다. 그리고 "fsutil file setshortname xxx yyy"를 사용하여 짧은 이름을 추가 할 수 없으며 "access denied"를 반환하므로 USB 키에서 WinPE로 부팅하고 단축 이름을 설정해야합니다. 그것은 일하는 것처럼 보인다. –

관련 문제