美文网首页
powershell学习笔记

powershell学习笔记

作者: 弓长_88c0 | 来源:发表于2023-02-11 17:22 被阅读0次

    引用的类可以省略system,看起来简洁些。

    • powershell5.1版本启动比较慢,可以用一下代码加速:
    $env:PATH = [Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()
    [AppDomain]::CurrentDomain.GetAssemblies() | ForEach-Object {
        $path = $_.Location
        if ($path) { 
            $name = Split-Path $path -Leaf
            Write-Host -ForegroundColor Yellow "`r`nRunning ngen.exe on '$name'"
            ngen.exe install $path /nologo
        }
    }
    

    原理是进程全部修改成完全信任模式,启动时不需要再检查。
    当然,完全使用内置模块的话把 -NoProfile 也加上。

    • 计算器:
      普通基础功能直接写,数学计算需要用到[Math]::方法调用
      比如pi、sin这些数学函数。

    • 格式化:
      转化为字符串可以用tostring()或者out-string,前者是函数,后者是方法。
      tostring可以直接指定转换格式:$(get-date).tostring("m/yyyy")
      通常用f来指定变量,0表示第一个变量,d是数据类型(day),D就是中文。
      "Date: {0:d}" -f (Get-Date)

    • 日期:
      get-date 2023/2/11

    时间加减有三种方法
    1* (get-date) - (New-TimeSpan -day 20) 当前时间减去20天
    2* (get-date).AddDays(-1).AddHours(-2).AddMinutes(-3).AddSeconds(-4) 引用的类是[datetime],可以使用相关的函数 3* New-TimeSpan(Get-Date) $(Get-Date –month 12 -day 31 -year 2006 -hour 23 -minute 30).totaldays

    可以不需要后面的time。
    后面的时间减去前面的时间,TotalDays是总共相差的日期数,当然我们也可以获取相差的小时数等

    字符串转日期用parseexact函数,注意函数中的日期格式是原格式的
    $invoice = '01-Jul-16';[datetime]::parseexact($invoice, 'dd-MMM-yy', $null)
    格式化可以用 '{0:yyyy-MM-dd}' -f [DateTime]'Jul-16',或者直接
    [datetime]$Format_date =$invoice
    ([DateTime]"Jul-16").ToString('yyyy-MM-dd')

    相关文章

      网友评论

          本文标题:powershell学习笔记

          本文链接:https://www.haomeiwen.com/subject/jztrkdtx.html