以下脚本演示了从PowerShell v4迁移到v5.1后遇到的问题。我广泛使用Start-Process将StandardError重定向到文件,如果该文件在执行后包含数据,我可以读取该文件以查看问题所在。
但是,对于v5.1,当启动的PowerShell进程启动时,它利用错误流上的进度输出,因此将其重定向到错误文件。在以前的PowerShell版本中,没有发生这种情况,如果我使用 Command 而不是 EncodedCommand ,它将按预期工作。
我相信这是一个错误,但是如果有人可以确认或建议解决方法,它将很有用?
以下脚本的输出如下:
没有错误
你好,世界!
警告:
SourceId记录
Sub sum_squares() Dim total As Integer Dim c As Range Dim d As Range 'set d equal to column from active cell down to last non-empty' d = Range(ActiveCell, ActiveCell.endxldown) total = 0 For Each c In d total = total + c.Value ^ 2 Next c End Sub
你好,世界!
你好,世界!
注意:这将创建2个临时文件,它们都将在末尾删除。
1 parent = -1 id = 0 act = Preparing modules for first use. stat = cur = pct = -1 sec = -1 type = Completed