ค้นหาเว็บไซต์

วันที่ เวลา และรูปแบบ PowerShell


ดังนั้นเพื่อให้ชีวิตของฉัน (และอาจเป็นของคุณ) ง่ายขึ้น ฉันจึงเขียนสคริปต์ PowerShell เล็กน้อยเพื่อเตือนฉันถึงคุณค่าที่เป็นไปได้

$patterns = "d","D","g","G","f","F","m","o","r","s", "t","T","u","U","Y","dd","MM","yyyy","yy","hh","mm","ss","yyyyMMdd","yyyyMMddhhmm","yyyyMMddhhmmss"

Write-host "It is now $(Get-Date)" -ForegroundColor Green

foreach ($pattern in $patterns) {
#display text
"{0}`t{1}" -f $pattern,(Get-Date -Format $pattern)

} #foreach

Write-Host "Most patterns are case sensitive" -ForegroundColor Green

ตัวแปร $patterns คืออาร์เรย์ของค่ารูปแบบวันที่และเวลาที่ใช้กันทั่วไป หลายคนถูกดึงออกจากหน้า MSDN นั้น แต่ฉันเพิ่มบางส่วนของตัวเองในตอนท้าย นี่คือผลลัพธ์จากสคริปต์นี้

มันดูดีและเป็นสูตรโกงที่ดีอย่างแน่นอน แต่แล้วฉันก็รู้ว่าตั้งแต่ฉันกำลังเขียนสคริปต์ ฉันควรยกระดับสิ่งนี้ไปอีกระดับและเขียนอ็อบเจ็กต์ที่มีประโยชน์ลงในไปป์ไลน์

$patterns = "d","D","g","G","f","F","m","o","r","s", "t","T","u","U","Y","dd","MM","yyyy","yy","hh","mm","ss","yyyyMMdd","yyyyMMddhhmm","yyyyMMddhhmmss"

Write-host "It is now $(Get-Date)" -ForegroundColor Green

foreach ($pattern in $patterns) {

#create an Object
[pscustomobject]@{
 Pattern = $pattern
 Syntax = "Get-Date -format '$pattern'"
 Value = (Get-Date -Format $pattern)
}

} #foreach

Write-Host "Most patterns are case sensitive" -ForegroundColor Green

เวอร์ชันนี้จะสร้างออบเจ็กต์แบบกำหนดเองสำหรับแต่ละรูปแบบ รวมถึงไวยากรณ์ด้วย

อีกทางเลือกหนึ่งสำหรับ -Format คือการใช้ ToStringMethod() ระบุรูปแบบรูปแบบ

PS C:\> (get-date).ToString('o')
2014-10-08T07:58:46.0376740-04:00

เนื่องจากนี่คือวัตถุ ฉันจึงสามารถไพพ์มันกับ cmdlets อื่นได้

C:\scripts\Test-DatePattern.ps1 | format-table

ฉันรวมไวยากรณ์ไว้แล้ว ดังนั้นสิ่งที่คุณต้องทำก็แค่คัดลอกและวาง หรือเป็นอย่างไรบ้าง?

Function Insert-Pattern {
C:\scripts\Test-DatePattern.ps1 | Out-GridView -Title "Select a format" -OutputMode Single |
foreach {
  $psise.CurrentFile.Editor.InsertText($_.Syntax)
}
}

กำหนดฟังก์ชันนี้ใน PowerShell ISE หรือแม้แต่เพิ่มลงในเมนู Add-On ของคุณด้วยแป้นพิมพ์ลัด เมื่อดำเนินการแล้ว คุณจะได้รับการแสดงผลแบบกราฟิกโดยใช้ Out-Gridview

เลือกรูปแบบและวางไวยากรณ์ลงในสคริปต์ PowerShell ของคุณ ฉันชอบให้ PowerShell ทำงานให้ฉัน! สนุก.

บทความที่เกี่ยวข้อง