繁体   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