powershell学习笔记

2023-02-11  本文已影响0人  弓长_88c0

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

$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 也加上。

时间加减有三种方法
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')

上一篇 下一篇

猜你喜欢

热点阅读