PowerShell использует краткую форму 8.3 для env:Temp

Пожалуйста, помогите мне разобраться с переменной среды PowerShell.

Я узнал, что PowerShell имеет специальный синтаксис для доступа к значениям системных переменных среды. Поэтому я попытался выполнить:

$env:Temp

В консоли PowerShell 6.2.4 в Windows 10. Вывод странный:

C:UsersOD42B~1.BORAppDataLocalTemp

В нем мое имя пользователя Windows сокращено до формы 8.3. Проблема в том, что я не могу использовать команду cd $env:temp, она выводит следующую ошибку:

cd : An object at the specified path C:UsersOD42B~1.BOR does not exist.

Но я может сделать cd %temp% в терминале cmd.

Я пробовал приложение Windows PowerShell (%SystemRoot%system32WindowsPowerShellv1.0powershell.exe), но cd $env:Temp тоже не работает.

Я проверил параметр конфигурации переменных среды (Свойства системыПеременные среды), и обе переменные TEMP и TMP отображаются с использованием имени папки профиля длинной формы, например c:userso.borolongprofilenameAppDataLocalTemp.

Как я могу заставить cd $env:Temp работать с именем профиля, отличным от 8.3, в PowerShell?

UPD

  • PowerShell get-childitem env:Temp вывод: C:UsersOD42B~1.BORAppDataLocalTemp.

  • Cmd echo %temp% вывод такой же C:UsersOD42B~1.BORAppDataLocalTemp (но cd %temp% работает в cmd).

  • TEMP переменная среды в пользовательском интерфейсе установлена правильно (показанное значение похоже c:userso.borolongprofilenameAppDataLocalTemp).

    Однако TEMP значение отображается как %USERPROFILE%AppDataLocalTemp, когда я пытаюсь отредактировать TEMP с помощью пользовательского интерфейса.

  • PowerShell get-childitem env:userprofile отображает полное имя, например c:userso.borolongprofilename (сюрприз).

ОБНОВЛЕНИЕ 2

Я только что проверил PowerShell 7 rc2, но результат тот же: cd $env:Temp не работает.

ОБНОВЛЕНИЕ 3

Спасибо, что помогли мне. Я нашел ответ , предоставленный ссылкой на комментарий @Smock:

cd (gi $env:temp).fullname