Windows Powershell对象转换成文本_PowerShell

Out-Default可以将对象转换成可视的文本。事实上Out-Default会首先调用Format-Table,将更多的属性默认隐藏。再调用Out-Host将结果输出在控制台上。因此下面的三组命令执行结果是相同的。

ls
ls | Format-Table | Out-Host
ls | Out-Default

显示隐藏的对象属性

要查看对象结果的所有属性,可是使用
ls | Format-Table *
这样因为属性和属性的内容太多可能不会显示完全,可以使用文本换行参数
ls | Format-Table * -Wrap

格式化管道结果

首先可是使用下面的命令查看所有以Format打头的命令

PS C:Powershell> Get-Command -Verb format

CommandType   Name              Definition
-----------   ----              ----------
Cmdlet     Format-Custom          Format-Custom [[-Property]
Cmdlet     Format-List           Format-List [[-Property]
Cmdlet     Format-Table          Format-Table [[-Property]
Cmdlet     Format-Wide           Format-Wide [[-Property]

Format-Custom: 使用自定义视图来设置输出的格式。
Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。
Format-Table: 将输出的格式设置为表。
Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。

显示指定的属性

要显示指定的属性,你首先得知道结果对象中的属性名,例如:

PS C:Powershell> ls | Format-Table Name,Length,LastWriteTime

Name            Length           LastWriteTime
----            ------           -------------
ABC                          2011/11/23 17:25:53
myscript                       2011/11/29 18:21:28
a.html           67580           2011/11/24 18:30:13
a.txt           26384           2011/11/24 20:04:31
alias           12060           2011/11/24 20:26:36

使用通配符

例如要查看当前以i打头的进程,并显示进程的名字和其它以”pe”打头,以”64″结尾的进程。

PS C:Powershell> Get-Process i* | Format-Table Name,pe*64

Name        PeakPagedMemorySize  PeakWorkingSet64 PeakVirtualMemorySi
                   64                  ze64
----         -------------------   ---------------- -------------------
Idle                 0          0          0
IMECFMUI           946176        4292608       48054272
IMECMNT            1564672       5320704       65482752
IMEDICTUPDATE       1224704       4579328       31965184

脚本块作为属性

在Powershell中文件的Length默认以byte作为单位如果你象让它输出时以KB显示,可是考虑羡下面的方法。

PS C:Powershell> ls | Format-Table Name,{ [int]($_.Length/1kb) }

Name            [int]($_.Length/1kb)
----            ----------------------
function.ps1                21
LogoTestConfig.xml           0
ls.html                     3
name.html                  7

修改列标题

使用合成的属性,如果使用脚本块作为标题,看着很不爽。可以使用Lable设置。同样是上面的例子,稍作修改。

PS C:Powershell> $column = @{Expression={ [int]($_.Length/1KB) }; Label="KB" }
PS C:Powershell> Dir | Format-Table Name, $column

Name                    KB
----            ----------------------
function.ps1                21
LogoTestConfig.xml           0
ls.html                     3
name.html

优化列宽度

因为Powershell的绝大多数输出都是实时的流模式,所以下一条结果的宽度未知,Powershell的结果会默认采用分散对齐,这样可以最大限度利用控制台的宽度,但是可以通过-auto参数对列的宽带进行优化,会将属性值的最大宽带作为每一列的宽度,对比一下吧:

PS C:Powershell> ls

  目录: C:Powershell

Mode        LastWriteTime   Length Name
----        -------------   ------ ----
d----    2011/11/23   17:25      ABC
d----    2011/11/29   18:21      myscript
-a---    2011/11/24   18:30   67580 a.html
-a---    2011/11/24   20:04   26384 a.txt
PS C:Powershell> ls | Format-Table -AutoSize

  目录: C:Powershell

Mode     LastWriteTime Length Name
----     ------------- ------ ----
d---- 2011/11/23   17:25    ABC
d---- 2011/11/29   18:21    myscript
-a--- 2011/11/24   18:30 67580 a.html

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索windows
, powershell
对象转换成文本
powershell 对象、powershell 创建对象、powershell文本处理、powershell文本编辑器、powershell 输出文本,以便于您获取更多的相关知识。

时间: 2024-07-29 09:24:43

Windows Powershell对象转换成文本_PowerShell的相关文章

将Model对象转换成json文本或者json二进制文件

将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #i

技术转型-java实现语音存储和转换成文本

问题描述 java实现语音存储和转换成文本 java:可以通过什么技术或者有什么API可以实现语音相互转换,谁会实现,感激不尽 解决方案 你这个是语音识别啊大哥

编写Python脚本把sqlAlchemy对象转换成dict的教程

  这篇文章主要介绍了编写Python脚本把sqlAlchemy对象转换成dict的教程,主要是基于Python的model类构建一个转换的方法,需要的朋友可以参考下 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM对象更为方便,毕竟不用管数据库session的状态了. 假设数据库里有一张post表,其中一种方法就是 ? 1 2 p = session.query(Post).first() p.__di

编程-hex16进制转换把EXE转换成文本,那如何转换回来?

问题描述 hex16进制转换把EXE转换成文本,那如何转换回来? 一个16kb的exe软件,通过hex转换成16进制的一堆字符例如0x40165.....这些字符是文本格式,现在这么把一堆字符重新转换成.exe可执行文件? 解决方案 全部都当二进制文件来读写,这样可以写回后,只要文件内容都对,那么修改后缀就可以执行了 解决方案二: 1.把这堆字符,每两位转化为一个字节,写回一个普通文件(文件名不要是任何可执行文件的文件名) 2.把文件名改为EXE 3.执行 没试过,不过应该是可行的吧

请问有没有将rtf格式转换成文本的函数或类?

问题描述 请问有没有将rtf格式转换成文本,同时保留格式的函数或类? 解决方案 解决方案二:不用函数或类,直接this.richTextBox1.Rtf就取得原始文本,可以测试一下:新建一个窗体,一个RichTextBox,一个TextBox,一个Button,Button点击:privatevoidbutton1_Click(objectsender,EventArgse){this.textBox1.Text=this.richTextBox1.Rtf;}可以看到效果!解决方案三:有没有RT

list对象转换成json????????

问题描述 list对象转换成json???????? list集合里面放的是对象,其中有的对象的属性还是一个set对象集合,怎么转换成json,谢谢 解决方案 这种特殊情况建议自已写个工具类 解决方案二: List转换成JSON对象 1.准备工作......答案就在这里:List转换成JSON对象 解决方案三: 用一些工具类库,然后自己封装一下,以后就可以复用了. http://blog.csdn.net/samliao_2012/article/details/7297704 解决方案四: 一

java中对象的操作,将一个包含引用对象的对象转换成jsonStr格式的时候

问题描述 java中对象的操作,将一个包含引用对象的对象转换成jsonStr格式的时候 将一个包含引用对象的对象转换成jsonStr格式的时候以:引用对象名.引用对象属性:值,显示 例如:User user = new User(1,"tom"); {"user.id":"1","user.name":"tom"} 这种json字符串格式 解决方案 http://blog.csdn.net/snowdrea

解析PHP将对象转换成数组的方法(兼容多维数组类型)_php技巧

复制代码 代码如下:  /**  * @author   * @date 2013-6-21  * @todo 将对象转换成数组  * @param unknown_type $obj  * @return unknown  */ function object_to_array($obj){  $_arr = is_object($obj) ? get_object_vars($obj) :$obj;  foreach ($_arr as $key=>$val){   $val = (is_a

android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xstream 二: 把对象转换成xml android XMl 解析神奇xstream 三: 把复杂对象转换成 xml android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象   1.建立JavaBeen package com.android10; public clas