我正在嘗試在 Windows 上創建一個可執行檔案(.exe),它首先會執行一些操作,然后打開一個互動式 shell。在我的情況下,我想成為一個 wsl 的互動式 shell,但問題是在創建的每種型別的 shell 中都顯示出來。例如:
假設我們有檔案
測驗.ps1
Write-Host "Hello from my test program"
Invoke-Expression "powershell"
如果我使用 command: 運行它./test.ps1,結果將是列印訊息并啟動一個新的 powershell 實體。如果我運行命令:Invoke-ps2exe .\test.ps1 test.exe,然后運行test.exe,結果將是:
Hello from my test program
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
但我不能在視窗寫任何東西。誰能解釋我為什么會發生這種情況,以及我如何克服這個問題?
uj5u.com熱心網友回復:
test.ps1如下修改您的檔案:
Write-Host "Hello from my test program"
Start-Process -Wait -NoNewWindow powershell.exe
此更改確保 PowerShell 的常用互動式主機 ,ConsoleHost在從您的腳本啟動的新啟動的 PowerShell 會話中,不會在生成的檔案中內置的簡化主機之上運行,這似乎會導致您的問題。.exeps2exe
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487128.html
標籤:电源外壳 ps2exe-gui
下一篇:如何在回圈中排列目標
