zoukankan      html  css  js  c++  java
  • powershell use calculated properties

    原文

      powershell 处理的一般都是对象,对象会有一些属性,但是有一些更加有用的东西是通过对象已有属性计算得来的,我们可以创建这样的属性,powershell中将其称为 calculated property。

      如何创建呢?通过 select-object 命令来,先给例子

    Get-ChildItem C:Test | Select-Object Name, CreationTime, @{Name="Kbytes";Expression={$_.Length / 1Kb}}
    1. select-object 可以来选择通过管道传过来对象的属性(属性有很多,我们选取需要呈现的)
    2. 在select-object命令中通过建立一个哈希表来创建我们需要的属性
    3. 哈希表的格式为@{},里面有两个值,第一个name 对应我们创建的属性名称,第二个expression对应一个脚本段{},里面包含我们创建属性的代码,上例是将大小的现实转换为kb形式显示

    命令返回如下

    Name                                    CreationTime                       Kbytes
    ----                                    -------------                       ------
    challenge.mdb                           12/17/2007 9:33:24 PM                  884
    pool.mdb                                1/14/2008 8:16:15 AM                   224

      基本的用法就是这样,这个的确有很多可能性,但是前提是我们需要知道我们操作的对象的属性有什么,这个可以通过 get-menber 来查看

      最后需要说的是:select-object 会创建一个新的对象,这个对象和通过管道前get-childitem 获取到的对象已经不一样了,而我们建立的属性被当成新对象的属性

    文章中还有个例子,计算文件存在时间的,有点用,如下

    Get-ChildItem C:Test | Select-Object Name, @{Name="Age";Expression={ (((Get-Date) - $_.CreationTime).Days) }}

      一个小tips powershell中关于大小的转换   xxx/1kb xxx/1mb xxx/1gb 都是可以的,

  • 相关阅读:
    (转)MVC 与三层架构
    (转)CentOS一键安装Nginx脚本
    (转)Python异常类的继承关系
    CMFCPropertyGridProperty用法
    C语言终极面试及答案分析
    C/C++函数指针(typedef简化定义)
    UNIX 家族及Linux
    Socket的综合应用总结
    Socket模型(二):完成端口(IOCP)
    socket通信中select函数的使用和解释
  • 原文地址:https://www.cnblogs.com/nervertoolate/p/8004842.html
Copyright © 2011-2022 走看看