从批处理文件启动时的PowerShell窗口

时间:2012-02-16 18:50:05

标签: powershell command-line batch-file

我有一个启动PowerShell脚本的批处理文件。

批处理文件:

START Powershell -executionpolicy RemoteSigned -noexit -file "MyScript.ps1"

MyScript.ps1:

Write-Output "Hello World!"

它运行正常,但有一个例外。窗口的外观类似于旧的cmd.exe(黑色背景),而不是PowerShell(蓝色背景) 如果从批处理文件启动它,我如何才能获得真正的PowerShell窗口?

感谢。

3 个答案:

答案 0 :(得分:6)

如果您真的想要蓝色背景,请在脚本中添加代码以更改背景颜色。

#save the original
$original=$host.ui.RawUI.BackgroundColor
$front=$host.ui.RawUI.ForegroundColor
$host.ui.RawUI.BackgroundColor="DarkBlue"
$host.ui.RawUI.ForegroundColor="White"
cls
#run your code
dir c:\scripts

#set it back
$host.ui.RawUI.BackgroundColor=$original
$host.ui.RawUI.ForegroundColor=$front

答案 1 :(得分:3)

这是启动菜单中启动PowerShell的shell链接的属性,因此您必须完成以下操作:

start "" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows PowerShell\Windows PowerShell.lnk" ...

它不漂亮,它取决于它所在的位置(可能会破坏外语版本)。

答案 2 :(得分:1)

您可以调用powershell,使其以脚本

启动
Powershell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy RemoteSigned -noexit -File ""Full_Path_of_MyScript.ps1""'}"