zoukankan      html  css  js  c++  java
  • pwershell custom objects

    读这篇后的记录

    主要讲解的脚本

    $colAverages = @()
    
    $colStats = Import-CSV C:ScriptsTest.txt
    
    foreach ($objBatter in $colStats)
      {
        $objAverage = New-Object System.Object
        $objAverage | Add-Member -type NoteProperty -name Name -value $objBatter.Name
        $objAverage | Add-Member -type NoteProperty -name BattingAverage -value ("{0:N3}" -f ([int] $objBatter.Hits / $objBatter.AtBats))
        $colAverages += $objAverage
      }
    
    $colAverages | Sort-Object BattingAverage -descending
    本例主要讲解了,建立自己的对象,添加对象属性,并通过一些命令来达到操作对象属性的目的( 本例是计算命中率),新建自己的对象可以添加自己定义的属性,比直接导入 csv 文件产生的对象具有更多的属性。
         几个要点: 
    1. import-csv 命令 导入后生成一个对象数组,每一个对象的属性为 csv 文件中的打头行(列表)( header line ),就和数据库的表一样,每一对象代表一行数据
    2. 如何新增自定义对象,和往对象中添加属性 new-object System.Object  和 Add-Member -type NoteProperty -name xxx -value yyy
    3. .NET Framework formatting syntax  "{0:N3}" –f  格式化语法 大概查了下,N or n 代表数字,3代表小数点后三位  那个0不知道是什么意思,占位吗?
    4. 第二个值计算的时候要强制转换 [int] $objBatter.Hits ,因为powershell默认将这个值当作 String 来对待
     
         这个的使用可以用在对相关一些文件的处理中,不过也许直接使用excel更加便捷? 还有也许新建对象可以更加方便的处理一些自定义的问题?后边再看吧
  • 相关阅读:
    vue-router的push和replace的区别
    ajax请求常见状态码以及产生的原因
    vue定义data的三种方式与区别
    button与input button区别
    变量的声明方式
    js变量
    JavaScript的节流与防抖?
    js实现继承的方法-构造函数
    前端表单验证常用的15个JS正则表达式
    ES6中的新增数组的方法
  • 原文地址:https://www.cnblogs.com/nervertoolate/p/7911866.html
Copyright © 2011-2022 走看看