Reputation: 2882
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
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
Reputation: 105
The only way I could get this working inside a ".ps1" file was:
[System.Environment]::Exit(0)
Upvotes: 2
Reputation: 2279
stop-process -Id $PID
to close the powershell window completely.
Upvotes: 1
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
Reputation: 2882
The correct command is exit
, this will exit the current PowerShell prompt and return you to cmd.exe
.
Upvotes: 17