如何在新窗口中从powershell启动控制台应用程序

时间:2014-11-17 16:50:01

标签: powershell

我的团队开发了一个网站,每个开发人员都有一个在完整IIS中运行的本地副本。我们还有一个服务,在生产中运行在Azure中,但对于开发,我们将它包装在一个控制台应用程序中。如果开发人员需要此服务,则可以通过双击exe,运行批处理或将exe固定到其Windows任务栏来启动Console应用程序。这将在他的桌面上打开一个控制台窗口并保持运行,直到他选择将其关闭。

我正在编写一个PowerShell脚本,开发人员可以运行该脚本以定期更新我们应用程序的许多部分。

当然,如果此服务在Console App中运行,则会锁定文件。所以我写了这个脚本的一部分,以检查控制台应用程序并停止它(有效)。

但是,我想重新启动它。但是,只需调用exe(& MyService.exe)即可在powershell窗口的上下文中启动应用程序并阻止会话。

如何让exe进入自己的Windows控制台窗口?

if (Get-Process | ? { $_.Name -eq "SchedulerConsole" }) {
    $schedulerwasrunning = $true
    Write-Host "shutting down SchedulerConsole" -ForegroundColor Yellow
    Stop-Process -Name SchedulerConsole
}

...

if ($schedulerwasrunning) {
    Write-Host "restarting SchedulerConsole" -ForegroundColor Yellow
    & "$workspaceroot\blah\blah\SchedulerConsole.exe"
}

1 个答案:

答案 0 :(得分:6)

使用Start-Process而不是&运算符。这将在新的控制台窗口中生成应用程序。

相关问题