使用此命令,结果分为两行,第一行修剪为59个字符,第二行修剪为所有其他字符
$command ='nuget.exe list "Json.NET" -source "https://www.nuget.org/api/v2/"'
(Invoke-Expression "$command") | out-file C:\test.txt
它看起来像一些奇怪的文字换行,并且只出现在Windows PowerShell伊势中(Powershell.exe工作正常)
增加缓冲区大小不起作用
$host.UI.RawUI.BufferSize = new-object System.Management.Automation.Host.Size(512,50)
这是可行的
start-process $nugetExe $command -wait -WindowStyle Hidden -RedirectStandardOutput C:\test.txt -RedirectStandardError C:\error.txt
但只有在排除“RedirectStandardError”(如果存在)时才起作用- Package 仍在原处。如果使用
$process.StartInfo.RedirectStandardError = $true;
3条答案
按热度按时间vql8enpb1#
尝试在
Out-File
上使用-Width
参数,例如:pb3skfrl2#
(我在不久的将来也遇到过类似的问题)如果输出被重定向,
nuget.exe
在macOS中将在80个字符处换行:https://github.com/NuGet/Home/issues/10198修复已合并到5.9 release中。
toe950273#
Set-content不会添加额外的呈现。不需要Invoke-expression。