2013-07-02 89 views
-1

我遇到一個奇怪的問題,當我在CMD.exe中執行以下命令時,將在diff WKS中得到不同的結果。所有的WKS都是windows-xp sp3。cmd.exe中的「echo%temp%」的問題

c:\> echo %temp% 

之一是:C:\DOCUME~1\HWU\LOCALS~1\Temp
另一個是:C:\Documents and Settings\HWU\LOCALS~1\Temp

我知道,這兩個結果都是一樣的位置,但第二個將阻止我們的一些批處理文件,我不能修改批處理文件。

那麼,如何修改一些設置讓結果看起來像第一個?

會有人請指教嗎?

非常感謝!

+1

我想,因爲第二個裏面有空格,所以需要用「」包圍路徑,比如「C:\ Documents and Settings \ HWU \ LOCALS〜1 \ Temp」 – 2013-07-02 09:08:35

+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文件setshortname xxx yyy」添加短名稱,返回「拒絕訪問」,所以我必須從USB密鑰啓動WinPE,並設置短名稱。這似乎工作。 –