PowerShell utilise la forme courte 8.3 pour env:Temp

Aidez-moi à gérer la variable d'environnement PowerShell.

J'avais appris que PowerShell avait une syntaxe spéciale pour accéder aux valeurs des variables d'environnement système. J'ai donc essayé d'exécuter:

$env:Temp

Dans la console PowerShell 6.2.4 sous Windows 10. La sortie est étrange:

C:UsersOD42B~1.BORAppDataLocalTemp

Mon nom d'utilisateur Windows est raccourci au formulaire 8.3. Le problème est que je ne peux pas utiliser la commande cd $env:temp, elle affiche l'erreur suivante:

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

Mais je peut faire cd %temp% dans le terminal cmd.

J'ai essayé l'application Windows PowerShell (%SystemRoot%system32WindowsPowerShellv1.0powershell.exe) mais cd $env:Temp ne fonctionne pas non plus.

J'ai vérifié l'option de configuration de la variable d'environnement (Propriétés du système Variables d'environnement) et les variables TEMP et TMP sont affichées à l'aide du nom du dossier du profil de formulaire long, comme c:userso.borolongprofilenameAppDataLocalTemp.

Comment puis-je faire fonctionner cd $env:Temp pour un nom de profil non 8.3 dans le PowerShell?

UPD

  • La sortie PowerShell get-childitem env:Temp est C:UsersOD42B~1.BORAppDataLocalTemp.

  • Cmd echo %temp% la sortie est la même C:UsersOD42B~1.BORAppDataLocalTemp (mais cd %temp% fonctionne dans le cmd).

  • TEMP la variable d'environnement dans l'interface utilisateur est définie correctement (la valeur affichée est comme c:userso.borolongprofilenameAppDataLocalTemp).

    Cependant la valeur TEMP est affichée comme %USERPROFILE%AppDataLocalTemp lorsque j'essaie de modifier TEMP à l'aide de l'interface utilisateur.

  • PowerShell get-childitem env:userprofile affiche le nom complet comme c:userso.borolongprofilename (surprise).

UPD2

Je viens de vérifier PowerShell 7 rc2 mais le résultat est le même: cd $env:Temp ne fonctionne pas.

UPD3

Merci de m'aider. J'ai trouvé la réponse fournie par le lien de commentaire @Smock:

cd (gi $env:temp).fullname

demandé sur