Dans l'invite de commande, la saisie de PowerShell.exe
Lancera une invite interactive PowerShell à l'intérieur de cmd
.
Comment peut-on quitter cela et revenir à cmd.exe
? Ni ctrl+c
, exit()
, ni le bouton break
ne fonctionnent.
Ctrl-Break
Fonctionne.
exit()
peut fonctionner, mais appeler des fonctions avec des parenthèses n'est pas la syntaxe PowerShell, donc il essaie d'utiliser ()
comme paramètre de fonction, mais ()
n'est rien dans PowerShell donc c'est celui qui génère le message d'erreur. exit(1)
fonctionne, car (1)
est une expression valide elle-même qui s'évalue à 1
donc c'est la même chose que exit 1
, et cette commande définit le% ERRORLEVEL % valeur de retour dans l'environnement cmd.
Il est décrit dans help about_Language_Keywords
:
Quitter
Force Windows PowerShell à quitter un script ou une instance de Windows PowerShell.
Lorsque vous exécutez "powershell.exe -File", vous pouvez uniquement définir la variable% ERRORLEVEL% sur une valeur autre que zéro en utilisant l'instruction exit.
La commande correcte est exit
, cela quittera l'invite PowerShell actuelle et vous renverra à cmd.exe
.