gpt4 book ai didi

PowerShell Out-file -width 在导出到文件时不会截断内容

转载 作者:行者123 更新时间:2023-12-04 01:55:27 27 4
gpt4 key购买 nike

我有 Windows 7 和 PowerShell 4.0。将内容导出到文件时 -Width参数不会根据给定的设置进行格式化。这是我正在尝试做的一个示例:

"It is a nice hot sunny day" | Out-File -FilePath ".\output.txt" -Encoding ASCII -Width 10

导出的结果不会在第 10 个字符处被截断。它根本不会被截断。我无法弄清楚出了什么问题。

最佳答案

这让我有些意外,但显然,-Width参数仅适用于格式化对象:

字符串作为输入,无效

PS C:\> "It is a nice hot sunny day" |Out-File '.\output.txt' -Width 10 -Force; gc '.\output.txt'
It is a nice hot sunny day

Format-Table ,这有效
PS C:\> New-Object psobject -Property @{text="It is a nice hot sunny day"} | Format-Table |Out-File '.\output.txt' -Width 10 -Force; gc '.\output.txt'

text
-----
It is a...

Format-List ,这有效,但以一种奇怪的方式:
PS C:\> New-Object psobject -Property @{text="It is a nice hot sunny day"} | Format-Table |Out-File '.\output.txt' -Width 10 -Force; gc '.\output.txt'

text : It
is
a n
ice
ho
t s
unn
y
day

所以,我们能得到的最接近的可能是 Format-Table -HideTableHeaders :
PS D:\> New-Object psobject -Property @{text="It is a nice hot sunny day"} | Format-Table -HideTableHeaders|Out-File '.\output.txt' -Width 10 -Force; gc '.\output.txt'

It is a...

受到@Matt 回答的启发,您可以编写自己的函数来截断字符串:
Function Resize-String {
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[string[]]$InputObject,
[int]$Width = 10
)

process{
$InputObject.Substring(0,[System.Math]::Min([string]$InputObject[0].Length,$Width))
}
}

PS C:\> "It is a nice hot sunny day" |Resize-String|Out-File '.\output.txt' -Width 10 -Force; gc '.\output.txt'
It is a ni

关于PowerShell Out-file -width 在导出到文件时不会截断内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com