2017-01-06 56 views
-3

从CMD批处理文件中调用powershell命令,但CMD保持PowerShell模式。如何退出PowerShell模式(在命令提示符下)并继续批处理文件? 当我运行当前批处理文件时,必须键入exit才能退出powershell会话。然后批处理文件继续停止。如何在ps1运行后回到CMD提示恢复批处理文件

+5

欢迎堆栈溢出。请包含您正在寻求帮助的代码。这里是关于包含[mcve] – BenH

+2

的指南是的,如果你运行'PowerShell -Command ...',它会在命令完成时退出。你在做什么呢? – Jaykul

+0

这是一个批处理文件,用于调用其他包含powershell命令的批处理文件。下面的解决方案。 –

回答

1

简单。

Shell脚本

@echo off 
setlocal 
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -file <full path to PowerShell file> 
echo PowerShell returned rc %ERRORLEVEL%. 
endlocal 

简单的PowerShell文件

Write-Host -Object 'Hello World'; 
exit (Get-Random -Minimum -10 -Maximum 0); 
+0

谢谢,这工作!但是我必须在powershell.exe之后添加-ExecutionPolicy Bypass。 –