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 都是可以的,

  • 相关阅读:
    Windows下安装使用OpenLDAP
    LDAP安装配置(windows)
    LDAP概念和原理介绍
    JDK自带的keytool证书工具详解
    递归算法讲解
    Creating an archive from a directory without the directory name being added to the archive
    Overview of the M&A Process
    Make sure base method gets called in C#
    How to delete specific nodes from an XElement?
    如何学习数据结构?
  • 原文地址:https://www.cnblogs.com/nervertoolate/p/8004842.html
Copyright © 2011-2022 走看看