PowerShell/docs/write-clock.md
2024-11-20 11:52:20 +01:00

1.8 KiB

The write-clock.ps1 Script

This PowerShell script writes the current time as ASCII clock.

Parameters

/home/markus/Repos/PowerShell/scripts/write-clock.ps1 [<CommonParameters>]

[<CommonParameters>]
    This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, 
    WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

Example

PS> ./write-clock.ps1

Notes

Author: Markus Fleschutz | License: CC0

https://github.com/fleschutz/PowerShell

Script Content

<#
.SYNOPSIS
	Writes an ASCII clock
.DESCRIPTION
	This PowerShell script writes the current time as ASCII clock.
.EXAMPLE
	PS> ./write-clock.ps1
.LINK
	https://github.com/fleschutz/PowerShell
.NOTES
	Author: Markus Fleschutz | License: CC0
#>

try {
	[system.threading.thread]::currentthread.currentculture = [system.globalization.cultureinfo]"en-US"
	$Weekday = Get-Date -UFormat "%A"
	$Date = Get-Date -UFormat "%d %b %Y"
	$Week = Get-Date -UFormat "%V"

	Clear-Host
	& "$PSScriptRoot/write-big.ps1" "    $Weekday"
	Write-Output ""
	& "$PSScriptRoot/write-big.ps1" "  $Date"
	Write-Output ""
	& "$PSScriptRoot/write-big.ps1" "    WEEK $Week"
	Write-Output ""

	$StartPosition = $HOST.UI.RawUI.CursorPosition
	while ($true) {
		$Time = Get-Date -format "HH:mm:ss" 
		& "$PSScriptRoot/write-big.ps1" "    $Time  "
		Write-Output "`n                             (press <Ctrl> <C> to stop)"
		Start-Sleep -seconds 1
		$HOST.UI.RawUI.CursorPosition = $StartPosition
	}
	exit 0 # success
} catch {
	"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
	exit 1
}

(generated by convert-ps2md.ps1 as of 11/20/2024 11:52:02)