powershell use calculated properties
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell use calculated properties相关的知识,希望对你有一定的参考价值。
powershell 处理的一般都是对象,对象会有一些属性,但是有一些更加有用的东西是通过对象已有属性计算得来的,我们可以创建这样的属性,powershell中将其称为 calculated property。
如何创建呢?通过 select-object 命令来,先给例子
Get-ChildItem C:\Test | Select-Object Name, CreationTime, @{Name="Kbytes";Expression={$_.Length / 1Kb}}
- select-object 可以来选择通过管道传过来对象的属性(属性有很多,我们选取需要呈现的)
- 在select-object命令中通过建立一个哈希表来创建我们需要的属性
- 哈希表的格式为@{},里面有两个值,第一个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 都是可以的,
以上是关于powershell use calculated properties的主要内容,如果未能解决你的问题,请参考以下文章
[Algorithm] Calculate Pow(x,n) using recursion
sh 来自http://stackoverflow.com/questions/17419337/calculate-total-used-disk-space-by-files-older-than
[React Recoil] Use selectors to calculate derived data based on state stored within a Recoil atom(代码
[React Recoil] Use selectors to calculate derived data based on state stored within a Recoil atom(代码
[powershell]Use powershell to get file hash / 使用powershell获取文件哈希值