AllTradesJack
AllTradesJack

Reputation: 2882

How to exit PowerShell.exe inside of CMD

In the command prompt, entering PowerShell.exe will start a PowerShell interactive prompt inside of cmd.

How can one exit this and return to cmd.exe? Neither ctrl+c, exit(), nor the break button work.

Upvotes: 27

Views: 66961

Answers (5)

knowledge123
knowledge123

Reputation: 11

type cmd in powershell command line, eg

PS C:\Users\ziyati\Gitter> cmd Microsoft Windows [Version 10.0.22621.1413] (c) Microsoft Corporation. All rights reserved.

C:\Users\ziyati\Gitter>

that all !

Upvotes: 1

KingRidgehead
KingRidgehead

Reputation: 105

The only way I could get this working inside a ".ps1" file was:

[System.Environment]::Exit(0)

Upvotes: 2

Ajay Tom George
Ajay Tom George

Reputation: 2279

stop-process -Id $PID to close the powershell window completely.

Upvotes: 1

TessellatingHeckler
TessellatingHeckler

Reputation: 28963

Ctrl-Break works.

exit() might work, but calling functions with parentheses is not PowerShell syntax, so it's trying to use () as a function parameter, but () is not anything in PowerShell so it's that which generates the error message. exit(1) works, because (1) is a valid expression itself which evaluates to 1 so this is the same as exit 1, and this command sets the %ERRORLEVEL% return value in the cmd environment.

It's described in help about_Language_Keywords:

Exit

Causes Windows PowerShell to exit a script or a Windows PowerShell instance.

When you run 'powershell.exe -File ', you can only set the %ERRORLEVEL% variable to a value other than zero by using the exit statement.

Upvotes: 24

AllTradesJack
AllTradesJack

Reputation: 2882

The correct command is exit, this will exit the current PowerShell prompt and return you to cmd.exe.

Upvotes: 17

Related Questions