Tìm kiếm trang web

Lời nhắc PowerShell Giáng sinh của bạn


Tiếp tục niềm vui của tôi với lời nhắc PowerShell và vì chúng ta đang trong mùa Giáng sinh. Tôi đang mang lại lời nhắc đếm ngược Giáng sinh của mình. Tôi đã cập nhật để nó hoạt động trong cả bảng điều khiển truyền thống và PowerShell ISE.

Lời nhắc hiển thị thông báo đếm ngược được tô màu ngẫu nhiên cùng với một số đồ trang trí ngẫu nhiên. Bạn có thể tìm thấy mã được cập nhật dưới dạng ý chính trên kho Github của tôi.

PSChristmasPrompt.ps1:


<#
display a colorful Christmas countdown prompt

[♫♪Christmas in 18.15:22:08֍♦] PS C:\> 

This should work in the console with a True Type font and
the Powershell ISE

this prompt requires a TrueType font
you would put this in your profile script so that it
only runs in December 1-24

#>

if ((Get-Date).Month -eq 12 -AND (Get-Date).Day -lt 25) {
  #load the Christmas prompt  
  
Function Prompt {
    #get current year
    $year = (Get-Date).year
    #get a timespan between Christmas for this year and now

    $time=[datetime]"25 December $year" - (Get-Date)
    #turn the timespan into a string and strip off the milliseconds
    $timestring = $time.ToString().Substring(0,11)

    #get random string of decorative characters
    $myChars = "♫","♪","♦","*","֍"
    $front = -join ($myChars | Get-Random -count 2)  
    #-join (14,15,42 | Get-Random -Count 2 | Foreach { $_ -as [char] })
    $back = -join ($myChars | Get-Random -count 2)
    #-join (14,15,42 | Get-Random -Count 2 | Foreach { $_ -as [char] })
    $text="[{0}Christmas in {1}{2}]" -f $front,$timestring,$back

    #get each character in the text and randomly assign each a color
    $text.tocharArray() | ForEach-Object {

    $i = Get-Random -Minimum 1 -Maximum 20
    switch ($i) {
      {$i -le 20 -and $i -gt 15} { $color = "Red"}
      {$i -le 16 -and $i -gt 10} { $color = "Green" }
      {$i -le 10 -and $i -gt 5}{ $color = "DarkGreen"}
      default {$color = "White"}
    }

    #write each colorized character
    Write-Host $_ -nonewline -foregroundcolor $color
    } #foreach

    #the function needs to write something to the pipeline
    
    " PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "

} #end function

} #If December

Tôi khuyên bạn nên đặt mã vào tập lệnh hồ sơ PowerShell của mình. Hàm chỉ tải nếu ngày hiện tại là vào tháng 12 và ngày nhỏ hơn ngày 25. Một cách tiếp cận khác là di chuyển logic IF bên trong hàm nhắc. Nếu đó là thời điểm Giáng sinh, hãy sử dụng lời nhắc theo chủ đề ngày lễ. Nếu không, hãy sử dụng lời nhắc mặc định của bạn.

Chức năng nhắc nhở cũng sẽ hoạt động trên nhiều nền tảng.

Nếu bạn không nhận được các ký tự đặc biệt, bạn có thể cần phải thay đổi phông chữ của mình. Điều này sẽ hoạt động với hầu hết các phông chữ True Type. Sửa đổi lời nhắc và dán bất kỳ ký tự nào bạn muốn từ charmap.exe.

Hãy coi đây là món quà Giáng sinh sớm. Thưởng thức.

Bài viết liên quan