Out-Host 是否正在缓冲?

2023-11-29

我有一个函数,我在其中调用一个应用程序&操作员。该应用程序生成几行命令行输出,下载一些文件,并返回一个字符串:

& "app.exe" | Out-Host
$var = ...
return $var

看来,控制台上出现了由app.exe仅在那之后app.exe终止。用户没有任何实时信息正在下载哪个文件。有没有办法在时持续更新控制台app.exe在跑?


许多控制台应用程序会缓冲其输出流(如果已知会重定向)。实际上,这是 C 库的标准行为。所以,缓冲是在app.exe,因为重定向,但不是由Out-Host.

解决方案是不重定向输出app.exe,即使外部命令重定向。因为你应该知道exactPowerShell 执行时的条件not重定向控制台应用程序的输出流,并将其直接链接到自己的输出流,这将是交互式控制台PowerShell.exe会议。条件是:

  1. 命令是管道中的最后一项。
  2. 命令通过管道传送到Out-Default.

解决方案是将命令包装到脚本块中,并将该脚本块通过管道传输到Out-Default:

& { & "app.exe" } | Out-Default

另一种解决方案是使用Start-Processcmdlet 与-NoNewWindow and -Wait参数:

Start-Process "app.exe" -NoNewWindow -Wait
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Out-Host 是否正在缓冲? 的相关文章

随机推荐

  • 每 30 秒执行一次代码

    我有一个服务器需要从其客户端收集信息 该信息是一个随机数 我将其存储到频率数组中 服务器应该告诉所有客户端最频繁的号码 但每隔 30 秒左右一次 发送该号码的客户端会断开连接 并为新的客户端腾出空间 因此 新的数字被添加到数组中 如何让服务
  • 普通图像存储还是 mySQL blob?

    我正在编写一个 php mysql 网络应用程序 它有点像一个博客平台 人们可以在其中上传图片并发布它们 存储这些图像的最佳方式是什么 将它们存储在文件夹中还是通过 BLOB 存储在 mySQL 表中 我问这个是因为我想要最简单的方法 让我
  • 如何使用 AngularJS 重定向到另一个页面?

    我正在使用 ajax 调用来执行服务文件中的功能 如果响应成功 我想将页面重定向到另一个 url 目前 我正在通过纯 JS 代码执行此操作window location response message 但我需要用 AngularJS 代码
  • React Native 组件回调函数

    在组件中 我看到了执行回调的不同方式 有什么区别
  • Blazor 文本在插入后不会立即更改

    我有一个应用程序 用户可以在其中的某个位置插入文本 该文本显示在同一页面上的徽章上 我想要的是 当用户键入时 更改会立即显示在徽章中 我添加了一个 oninput 事件 但 oninput 事件似乎不会更新 razor 页面 因为当我有输入
  • 无法在关联方法上重复 NilClass

    我使用的是 Rails 2 3 5 和 ruby 1 8 7 我正在构建一个简单的 TODO 管理器 我有属于用户的任务 并且用户有许多任务 我在用着acts as taggable on steroids用于标记任务的插件和restful
  • 使用 ChartJS 堆叠浮动水平条

    我正在尝试实施堆叠水平浮动条 using ChartJS但我面临着一种不寻常的行为 有人可以帮忙为什么会发生这种情况吗 我正在使用的代码是
  • 忽略受密码保护的 Excel 文件[重复]

    这个问题在这里已经有答案了 我正在迭代一个充满 xlsx 文件的目录 我正在使用 VBA 打开它们并调整几列的大小 其中一些要求输入密码 我不知道 所以我只想跳过这些文件并转到下一个 在VBA中如何实现这一点 我尝试了以下方法 但没有这样的
  • 在 php facebook sdk 4.0.0 或更高版本中指定应用程序范围

    我正在使用 facebook 的新 php sdk gt 4 0 0 我试图找出在哪里指定scope我对图形 API 的请求 就像 我在哪里指定我想要publish actions这样用户就可以在登录时授权我这样做 In 这里的链接它说 您
  • 如何在 Unity 中序列化并保存游戏对象

    我有一个游戏 玩家拿起武器 然后将其作为 GameObject 变量放置给我的玩家 称为 MainHandWeapon 我试图通过场景更改来保存该武器 所以我试图保存它 我的处理方法如下 public class Player Manage
  • 使用 Requirejs 动态加载语言环境文件

    我有一个基于 RequireJS 构建的单页 Marionette 应用程序 需要支持翻译 我的目标是为每种语言提供一个字典文件 并根据登录用户的配置加载相关文件 由于大多数用户会使用英语 因此我想在构建过程中将英语词典捆绑到应用程序中 使
  • 使用查询字符串参数从 url 下载自定义设置

    我制作了一个 Windows 服务应用程序 我想创建一个安装文件 当用户通过我们的网站 URL 和查询参数请求应用程序时 例如 http test com setup exe id 1212 我需要将当前的 app config 键值更改为
  • 如何在自定义下拉功能区控件上设置所选项目

    我正在使用自定义 UI 编辑器为 Excel 创建一个自定义选项卡 其中有两个 DropDown 控件 我们将它们称为 DropDown1 和 DropDown2 我的目标是 每当我更改 DropDown1 选择时 它都会自动更改 Drop
  • 系统找不到启动 Ruby 和 Rails 命令提示符时指定的路径

    我一周前刚开始学习 Rails 直到今天一切正常 现在 当我启动 Ruby 命令提示符时 它会显示 The system cannot find the path specified Under Rails Environment Conf
  • 适用于所有浏览器的弹出框

    我目前正在使用 window open url blur window focus 但这只能在 Chrome 中正常工作 在 IE 中 窗口在加载完成后会重新出现 在 Firefox 中 窗口根本不会下降 别担心 这个弹出窗口不会令人厌烦
  • 来自非托管代码的 System.AccessViolationException?

    我正在编写这个库 它通过将由托管代码使用的媒体基础框架在 C CLI 中实现一些基本的音频播放器功能 我可以很好地播放音频 停止 暂停等 对于任何不熟悉 Media Foundation 的人 媒体会话都会发布您可以处理通知的事件 这是通过
  • 9 补丁可绘制行为糟糕,奇怪的人工制品 - 这里出了什么问题?

    所以我正在尝试 9 补丁图像 我从一个 PNG 文件开始 其中有一个带圆角的半透明正方形 然后 我创建了 9 patch 如下所示 注意顶部和左侧的小点 我认为这足以处理这个问题 但是当将这个 9 补丁添加到 Eclipse 时 我得到了奇
  • Objective C - 分配、复制、保留

    我是 Objective C 的新手 我有 C 的基础知识 包括指针的概念 我有两个基本问题 有人可以用一些类比来解释分配 复制和保留之间的区别吗 如何处理返回指针变量的函数 以及如何通过返回指针执行消息传递 更改文档的更新答案 这些信息现
  • windows下如何获取cpu的实际核心数? [复制]

    这个问题在这里已经有答案了 我知道 std thread hardware concurrency 的存在 但它返回虚拟核心的数量 当其针对物理核心数量时 该算法的工作效果最佳 提高 5 10 我怎样才能在 Windows 上用 C 获得这
  • Out-Host 是否正在缓冲?

    我有一个函数 我在其中调用一个应用程序 操作员 该应用程序生成几行命令行输出 下载一些文件 并返回一个字符串 app exe Out Host var return var 看来 控制台上出现了由app exe仅在那之后app exe终止