问题标签 [write-host]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
136 浏览

powershell - 从批处理文件 (.cmd) 执行时,如何获取 PowerShell 控制台信息以显示在命令窗口中?

我有一个 PowerShell 脚本,当我从 PowerShell ISE 运行它时,它具有非常好的控制台状态和进度信息(使用 Write-Host)。但是,脚本通常由批处理命令文件 (.cmd) 作为较大进程的一部分调用。

目前,我从 Command1.cmd 调用 Script1.ps1,如下所示:

它工作得很好,但我没有看到任何来自 Script1.ps1 的 Write-Host 状态信息,除了最后一个,我将其解析为返回代码和消息。
我想在命令窗口执行时查看所有 Write-Host 状态信息。我怀疑 Write-Host 不是我想做的正确 cmdlet。但是,我无法得到任何工作。

这是 Script1.ps1 控制台输出的编辑示例,但它可以处理许多文件和每个文件中的数百条记录。我不需要提取它的任何特定部分,我想让它一步一步地完整显示。

0 投票
1 回答
35 浏览

powershell - 将 Write-Host 的输出通过管道传输到其他命令

我有这个脚本,它可以根据某些自助餐厅查找文件并使用 Write-Host 编写它们的路径。现在,我想通过管道传输所有这些文件路径,并对这些文件进行处理。

基本上第一个脚本是这样的:

现在我想做这样的事情:

但显然这不起作用。(实际上我想做一些比复制文件夹更复杂的事情,但这是另一个问题:-))

0 投票
3 回答
618 浏览

powershell - Powershell Get Child Item Exclude 在当前目录中不起作用

正如我在问题中提到的,这似乎是 Powershell 引擎中的错误。

当我尝试通过排除某些文件类型(扩展名)来打印当前目录(也存在所述powershell脚本)中的文件时,它不会打印任何内容。例如。以下代码在 Powershell 控制台中打印当前文件夹的内容:

上述两个代码都打印目录内容如下:

但是当我运行下面的代码时,它不会打印任何东西,当它必须打印 file1.txt 时:

谁能帮助弄清楚为什么会发生以及如何获得我提到的内容?

0 投票
0 回答
56 浏览

powershell - Jenkins 的 PowerShell 插件中没有输出

我正在为我的脚本使用 Jenkins 插件(而不是管道Windows Powershell。如果脚本直接写入命令行窗口,一切都很好。但是对于一些更复杂的操作,我使用的是位于我的 SCM 上的 .ps1-File,因为所有这些代码对于那个微小的Command-Window来说太混乱了。该脚本被正确触发,但我没有得到该文件的任何输出(Write-Host)。

我如何运行脚本:

有什么我失踪的线索吗?

0 投票
2 回答
352 浏览

powershell - 是什么原因导致 Write-Host 颜色像这样执行?

我目前正在使用 PS ISE 中的颜色。这是一些提示,其中一些只需要阅读,一些需要用户输入。我意识到在使用颜色执行清除和初始化新的写入主机命令后,颜色似乎是自己做的。

我已经提供了测试代码。

有什么想法吗?

运行 PS 脚本

在上面的屏幕上按“Enter”后

0 投票
1 回答
83 浏览

powershell - 多行注释未显示在来自 ADO 发布管道中的手动干预作业的电子邮件通知中

电子邮件正文目前正在开发 ADO 发布管道。第一个作业是手动干预作业,通知用户通过评论批准/拒绝部署。下一阶段发送一封电子邮件通知,其中包含用户提供的评论和其他详细信息。我的问题是,如果评论是多行的,除了第一行,其他行不会显示在电子邮件通知中。以下是我使用 powershell 和发送电子邮件任务的设置

Powershell 设置 -

将变量注释值分配给发布范围并在下面的发送电子邮件任务中使用它

发送电子邮件任务

1号线

2号线

然后它只在电子邮件通知中打印第 1 行。

0 投票
1 回答
376 浏览

powershell - 当在PowerShell中调整窗口大小时,具有背景颜色的Write-Host会用背景颜色填充整行

例如,如果您在 powershell 会话中执行此命令

调整窗口大小会导致背景颜色填充整行:

在此处输入图像描述

我已经在 Windows Terminal、Windows Console 和 Fluent Terminal 中对此进行了测试,它们都表现出这种行为。(我猜可能有一个虚拟终端序列/ANSI 代码来解决这个问题,但我不知道这可能是什么)。

那么,我们怎样才能防止这种情况发生呢?

编辑:作为测试,我尝试了以下方法:

当然会显示“HelloWorld”,“World”没有背景颜色,或者更准确地说与默认颜色相同(黑色)。

如果我们再向前迈出一步并在背景颜色设置为黑色之后打印一个额外的空间,那么这不会达到预期的响应,即在调整大小发生后,我们又会看到背景颜色为青色填充整行。

所以我们需要某种不可见的字符来阻止背景颜色的溢出或我目前不知道的完全不同的方法。

0 投票
1 回答
83 浏览

powershell - 包含 PowerShell 中文本颜色的变量

是否可以将文本的颜色存储在变量中?我试过这个但它不起作用:

它返回:

0 投票
0 回答
46 浏览

powershell - Powershell 似乎跳过语句

我使用 PS 脚本来控制远程机器上的服务。这基本上有效。

真正让我感到困惑的是,有时脚本块中第二条Write-Host语句的输出会在日志中丢失。日志看起来好像它没有被执行。脚本块的以下语句将按应有的方式执行。

我怀疑正是这种情况让我最终陷入了catch通话障碍,因为我没有任何其他错误指示​​。

你能帮我理解为什么我在脚本块中看不到第二条Write-Host语句的输出吗?

我怀疑该Stop-Service语句失败,尽管我在控制台输出中没有看到问题。

导致语句失败的原因可能是什么,Invoke-Script所以我最终进入了catch块,尽管它一直执行到最后一条语句?

- 谢谢!

正常时输出:

如果 NOK 则输出:

0 投票
0 回答
59 浏览

powershell - PowerShell - 喷溅中的 NoNewLine 写入主机参数

(如果我的英语有问题,我提前道歉)你好,我对splatting不太了解,我只用过2到3次,但这次我必须用它Write-Host。我想将NoNewLine参数添加到喷溅中,如下所示:

但是控制台不允许我执行它,所以我尝试将其设置为$true,但我收到错误:Cannot convert 'System.String' to the type 'System.Management.Automation.SwitchParameter'。我能怎么做?