美文网首页
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