powershell - 函数与方法中的命令输出
问题描述
我想在调用应用程序时看到它的“实时”输出。
当我在函数中调用它时,它可以正常工作,就好像我会直接调用它一样。我可以使用 Ctrl+C 取消应用程序,并更新应用程序输出的“进度条”:
function Test()
{
dism.exe /online /Cleanup-Image /AnalyzeComponentStore
}
Test
[=== 5.5% ]
但是,当我在方法中调用它时,没有可见的输出。我可以通过编写来解决这个问题,& dism.exe /online /Cleanup-Image /AnalyzeComponentStore 2>&1 | Write-Host
但对于这个例子,它不会更新进度条,而是在有进度更新时写一个新行:
class TestC
{
Test()
{
& dism.exe /online /Cleanup-Image /AnalyzeComponentStore 2>&1 | Write-Host
}
}
$testC = [TestC]::new()
$testC.Test()
[= 3.3% ]
[=== 5.5% ]
我也无法使用 Ctrl+C 取消应用程序,而是只会取消脚本,而被调用的应用程序会在后台继续运行。
对此有解释吗?和一个可行的解决方法?:)
谢谢!
解决方案
您可以将Start-Process
cmdlet 与-NoNewWindow
参数一起使用:
Start-Process dism.exe -ArgumentList "/online /Cleanup-Image /AnalyzeComponentStore" -NoNewWindow -Wait
推荐阅读
- macos - CLion (C++):无法使用 SFML 打开图像
- python - 如何在 tkiner 和 sqlite3 中进行实时搜索?
- requirejs - requirejs - 将全局变量定义为 amd 模块
- pdf - 如何在 iText7 中使用文本超链接创建 PDF/UA
- centos7 - CentOS 7:“free”命令未显示 LVM 交换扩展
- node.js - mongoose 聚合中“for”循环的副本
- python - 努力了解为什么我的井字游戏 minimax 游戏没有选择最佳移动 - python
- python - 为什么我的相关矩阵显示全白图片?
- html - 从 React 中的数组中删除项目
- html - 我的 div 类没有从另一个文件应用到我的 div