当前位置: 首页 > article >正文

Powershell 命令行窗口 设置行宽、折行、行省略

return

在 PowerShell 中,默认的输出宽度通常是 120 个字符,但这个限制是由控制台窗口的宽度决定的。

方法 1: 手动调整控制台窗口大小
手动调整:
你可以通过拖动 PowerShell 窗口的边缘来手动调整窗口的大小,增加其宽度。

设置窗口大小:
右键点击 PowerShell 窗口的标题栏,选择“属性”或“默认值”。
在“布局”选项卡中,找到“窗口大小”部分,调整“宽度”值。

方法 2: 使用 PowerShell 命令设置窗口大小
# 修改窗口行长度、高度(行数),对 控制台 有效,但对 ISE 无效。
$bufSize = $Host.UI.RawUI.BufferSize
$bufSize.Width = 210; 
$bufSize.Height = 9999;
# 调整缓冲区大小
$Host.UI.RawUI.Set_BufferSize($bufSize)
if ($psISE) {
    Write-Output "此脚本不能在 PowerShell ISE 中调整窗口大小。"
} else {
    # 调整窗口大小
    $winSize = $Host.UI.RawUI.WindowSize
    $winSize.Width = 200
    $winSize.Height = 30
}

方法 3: 使用 Out-Host 命令
如果你希望在输出时不受控制台宽度的限制,可以使用 Out-Host 命令并设置 -Paging 参数:
$result | Format-Table -AutoSize | Out-Host -Paging

这将允许你在分页模式下查看输出,虽然这并不直接扩展行长度,但可以更方便地查看长输出。

方法 4: 使用 -Property 指定各列宽度
如果不使用 -AutoSize ,可以使用 -Property 参数来指定列的属性,并结合自定义的宽度设置。
例如,假设我们有一个包含“Name”和“Description”两列的对象,要输出表格并且确保内容完整显示,可以这样设置:
$objects | Format-Table -Property @{Label = "Name"; Expression = {$_.Name}; Width = 20}, @{Label = "Description"; Expression = {$_.Description}; Width = 50}

这里为 "Name" 列设置了宽度为 20 个字符,"Description" 列设置为 50 个字符。
通过这种方式,可以根据内容的大致长度来合理分配列宽,避免内容被省略。

方法 5: 使用 Format-Table 的 -Wrap 参数
$result | Format-Table -Wrap -AutoSize

超出长度时,折行输出。如果你希望在输出时自动换行,可以使用 -Wrap 参数:

方法 6: 使用 Out-String 命令
$result | Format-Table -AutoSize | Out-String -Width 4096 | Out-File -FilePath $outputFilePath -Encoding UTF8

-Width 4096 参数指定了字符串的最大宽度为 4096 个字符. 后续还可接着输出到文件。

方法 7: 使用 Export-Csv 命令
如果表格内容是结构化的数据,可以考虑使用 Export-Csv 命令将数据导出为 CSV 文件,这样可以避免内容被省略。具体命令如下:
$result | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding UTF8

CSV 文件可以在 Excel 或其他文本编辑器中打开,不会出现内容被省略的问题。
如果输出中文乱码,尝试:
$result | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding UTF8BOM

主要还是根据 $result 的原编码形式来指定正确的编码,如: 
Default, ASCII, UTF8, UTF8BOM, UTF32, UTF32BOM, Unicode, BigEndianUnicode, OEM
Default:系统默认编码,通常是 ANSI 编码,具体取决于系统区域设置。

或者使用转换命令 ConvertTo-Csv:
$result | ConvertTo-Csv -NoTypeInformation | Out-File -FilePath $outputFilePath -Encoding UTF8BOM

方法 8: 4:使用 Select-Object 设置每列值的长度
超出长度时,列值以 ... 省略方式输出

# 创建一个空的数组来存储结果
$result = @()
$result += [PSCustomObject]@{
    PriFileName     = $file.BaseName + ".pri"
    ResourceMapName = $resourceMapName
    EnglishName     = $englishName
    ChineseName     = $chineseName
}
$len=25
$uniqueResults = $result | Select-Object @{Name='PriFileName'; Expression={if ($_.PriFileName.Length -gt $len) { $_.PriFileName.Substring(0, $len) + '...' } else { $_.PriFileName }}},
 @{Name='ResourceMapName'; Expression={if ($_.ResourceMapName.Length -gt $len) { $_.ResourceMapName.Substring(0, $len) + '...' } else { $_.ResourceMapName }}},
 @{Name='EnglishName'; Expression={if ($_.EnglishName.Length -gt $len) { $_.EnglishName.Substring(0, $len) + '...' } else { $_.EnglishName }}},
 @{Name='ChineseName'; Expression={if ($_.ChineseName.Length -gt $len) { $_.ChineseName.Substring(0, $len) + '...' } else { $_.ChineseName }}} |
 Format-Table -AutoSize
                         
注意事项
  扩展控制台窗口的宽度可能会影响其他应用程序的显示,确保在调整时考虑到其他因素。
  如果你在使用 PowerShell ISE 或 Visual Studio Code 等其他环境,调整窗口大小的方法可能会有所不同。

return

在 PowerShell 中,默认的输出宽度通常是 120 个字符,但这个限制是由控制台窗口的宽度决定的。

方法 1: 手动调整控制台窗口大小
手动调整:
你可以通过拖动 PowerShell 窗口的边缘来手动调整窗口的大小,增加其宽度。

设置窗口大小:
右键点击 PowerShell 窗口的标题栏,选择“属性”或“默认值”。
在“布局”选项卡中,找到“窗口大小”部分,调整“宽度”值。

方法 2: 使用 PowerShell 命令设置窗口大小
# 修改窗口行长度、高度(行数),对 控制台 有效,但对 ISE 无效。
$bufSize = $Host.UI.RawUI.BufferSize
$bufSize.Width = 210; 
$bufSize.Height = 9999;
# 调整缓冲区大小
$Host.UI.RawUI.Set_BufferSize($bufSize)
if ($psISE) {
    Write-Output "此脚本不能在 PowerShell ISE 中调整窗口大小。"
} else {
    # 调整窗口大小
    $winSize = $Host.UI.RawUI.WindowSize
    $winSize.Width = 200
    $winSize.Height = 30
}

方法 3: 使用 Out-Host 命令
如果你希望在输出时不受控制台宽度的限制,可以使用 Out-Host 命令并设置 -Paging 参数:
$result | Format-Table -AutoSize | Out-Host -Paging

这将允许你在分页模式下查看输出,虽然这并不直接扩展行长度,但可以更方便地查看长输出。

方法 4: 使用 -Property 指定各列宽度
如果不使用 -AutoSize ,可以使用 -Property 参数来指定列的属性,并结合自定义的宽度设置。
例如,假设我们有一个包含“Name”和“Description”两列的对象,要输出表格并且确保内容完整显示,可以这样设置:
$objects | Format-Table -Property @{Label = "Name"; Expression = {$_.Name}; Width = 20}, @{Label = "Description"; Expression = {$_.Description}; Width = 50}

这里为 "Name" 列设置了宽度为 20 个字符,"Description" 列设置为 50 个字符。
通过这种方式,可以根据内容的大致长度来合理分配列宽,避免内容被省略。

方法 5: 使用 Format-Table 的 -Wrap 参数
$result | Format-Table -Wrap -AutoSize

超出长度时,折行输出。如果你希望在输出时自动换行,可以使用 -Wrap 参数:

方法 6: 使用 Out-String 命令
$result | Format-Table -AutoSize | Out-String -Width 4096 | Out-File -FilePath $outputFilePath -Encoding UTF8

-Width 4096 参数指定了字符串的最大宽度为 4096 个字符. 后续还可接着输出到文件。

方法 7: 使用 Export-Csv 命令
如果表格内容是结构化的数据,可以考虑使用 Export-Csv 命令将数据导出为 CSV 文件,这样可以避免内容被省略。具体命令如下:
$result | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding UTF8

CSV 文件可以在 Excel 或其他文本编辑器中打开,不会出现内容被省略的问题。
如果输出中文乱码,尝试:
$result | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding UTF8BOM

主要还是根据 $result 的原编码形式来指定正确的编码,如: 
Default, ASCII, UTF8, UTF8BOM, UTF32, UTF32BOM, Unicode, BigEndianUnicode, OEM
Default:系统默认编码,通常是 ANSI 编码,具体取决于系统区域设置。

或者使用转换命令 ConvertTo-Csv:
$result | ConvertTo-Csv -NoTypeInformation | Out-File -FilePath $outputFilePath -Encoding UTF8BOM

方法 8: 4:使用 Select-Object 设置每列值的长度
超出长度时,列值以 ... 省略方式输出

# 创建一个空的数组来存储结果
$result = @()
$result += [PSCustomObject]@{
    PriFileName     = $file.BaseName + ".pri"
    ResourceMapName = $resourceMapName
    EnglishName     = $englishName
    ChineseName     = $chineseName
}
$len=25
$uniqueResults = $result | Select-Object @{Name='PriFileName'; Expression={if ($_.PriFileName.Length -gt $len) { $_.PriFileName.Substring(0, $len) + '...' } else { $_.PriFileName }}},
 @{Name='ResourceMapName'; Expression={if ($_.ResourceMapName.Length -gt $len) { $_.ResourceMapName.Substring(0, $len) + '...' } else { $_.ResourceMapName }}},
 @{Name='EnglishName'; Expression={if ($_.EnglishName.Length -gt $len) { $_.EnglishName.Substring(0, $len) + '...' } else { $_.EnglishName }}},
 @{Name='ChineseName'; Expression={if ($_.ChineseName.Length -gt $len) { $_.ChineseName.Substring(0, $len) + '...' } else { $_.ChineseName }}} |
 Format-Table -AutoSize
                         
注意事项
  扩展控制台窗口的宽度可能会影响其他应用程序的显示,确保在调整时考虑到其他因素。
  如果你在使用 PowerShell ISE 或 Visual Studio Code 等其他环境,调整窗口大小的方法可能会有所不同。


http://www.kler.cn/a/406840.html

相关文章:

  • Linux——进程间通信之管道
  • 速通前端篇 —— CSS
  • 华三(H3C)T1020 IPS服务器硬件监控指标解读
  • 真题-桂城2018年六年级
  • Python Matplotlib 安装指南:使用 Miniconda 实现跨 Linux、macOS 和 Windows 平台安装
  • 2024信创数据库TOP30之蚂蚁集团OceanBase
  • IText创建加盖公章的pdf文件并生成压缩文件
  • 高级java每日一道面试题-2024年11月22日-JVM篇-说说堆和栈的区别?
  • 纯HTMLCSS实现3D旋转地球
  • 嵌入式C语言面试题 - 2024/11/18
  • 【HM-React】01. React基础-上
  • element-plus教程:Layout 布局
  • 从容器到Podman:一个全方位的剖析
  • 电子应用设计方案-20:智能电冰箱系统方案设计
  • 人工智能与自动驾驶:从梦想到现实
  • 事务、视图、索引
  • Kafka-Consumer理论知识
  • “iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题
  • R package安装的几种方式
  • gstream插件编译笔记【1.16.3】
  • 仿axios,封装微信小程序的请求
  • Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)(很详细)
  • RHCD-----shell
  • 【Isaac Sim】相关问题汇总
  • CANDENCE: 绘制好的封装元件 刷新(Refresh) 和 替换 (Replace)焊盘
  • 【多模态】Flamingo模型技术学习