簡體   English   中英

PowerShell 腳本在 ISE 中運行,但不作為腳本運行

[英]PowerShell script runs in ISE but not as a script

目標:-

我在一些應該相對簡單的事情上遇到了麻煩? 在這里搜索了類似的問題,但沒有雪茄。 我不想將命令作為 Ps1 腳本傳遞給文件(常見建議)。 我希望我可以右鍵單擊,使用 PowerShell 運行並且它可以工作。

情況 :-

我必須經常自動卸載軟件。 我沒有在注冊表中搜索 msiexec 字符串,而是編輯了一些 PS 代碼,這樣我就可以搜索我想要的內容,然后對我收到的信息做任何我需要做的事情。 以下在 PowerShell ISE 中運行良好,但作為 PS1 腳本(右鍵單擊,使用 PS 運行),它在屏幕上不輸出任何內容。

代碼 :-

$Prog = Read-Host -Prompt 'Input your Prog name'
Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -match "$Prog"} | Select-Object -Property DisplayName, UninstallString

pause

讓我們說在提示符下我在 ISE 中搜索 7-Zip 我得到了這個......

Input your Prog name: 7-zip

DisplayName       UninstallString                     
-----------       ---------------                     
7-Zip 19.00 (x64) C:\Program Files\7-Zip\Uninstall.exe

作為腳本運行,我沒有得到任何輸出到控制台?

Input your Prog name: 7-zip

Press Enter to continue...:

問題:- 我需要做什么才能使腳本在 ISE 控制台中表現得像它一樣?

非常感謝您的幫助

PS(<看看我在那里做了什么,我是 PowerShell 游戲的新手,謝謝>)

它也適用於 Powershell,如果您從 Powershell Interactive Prompt 運行它或在 CMD/PowerShell 中使用powershell -file "FILEPATH"運行,輸出將保留在屏幕上。 但是,當您直接使用雙擊輸出運行時,它不會在屏幕上持續存在,而是在到達 EOF 時退出。 因此,在末尾添加Read-Hostcmd /c pause以在最后停止程序,以查看輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM