mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-11-23 16:33:20 +01:00
46 lines
1.6 KiB
PowerShell
Executable File
46 lines
1.6 KiB
PowerShell
Executable File
<#
|
|
.SYNOPSIS
|
|
Writes text as marquee
|
|
.DESCRIPTION
|
|
This script writes text as marquee.
|
|
.PARAMETER text
|
|
Specifies the text to write
|
|
.PARAMETER speed
|
|
Specifies the marquee speed (60 ms per default)
|
|
.EXAMPLE
|
|
PS> ./write-marquee "Hello World"
|
|
.NOTES
|
|
Author: Markus Fleschutz · License: CC0
|
|
.LINK
|
|
https://github.com/fleschutz/PowerShell
|
|
#>
|
|
|
|
param([string]$text = "PowerShell is powerful! PowerShell is cross-platform! PowerShell is open-source! PowerShell is easy to learn! Powershell is fully documented", [int]$speed = 60) # 60 ms pause
|
|
|
|
function StartMarquee { param([string]$text)
|
|
$Length = $text.Length
|
|
$Start = 1
|
|
$End = ($Length - 80)
|
|
|
|
clear-host
|
|
write-output ""
|
|
write-output "------------------------------------------------------------------------------------"
|
|
$StartPosition = $HOST.UI.RawUI.CursorPosition
|
|
$StartPosition.X = 2
|
|
write-output "| |"
|
|
write-output "------------------------------------------------------------------------------------"
|
|
|
|
foreach ($Pos in $Start .. $End) {
|
|
$HOST.UI.RawUI.CursorPosition = $StartPosition
|
|
$TextToDisplay = $text.Substring($Pos, 80)
|
|
write-host -nonewline $TextToDisplay
|
|
start-sleep -milliseconds $speed
|
|
}
|
|
write-output ""
|
|
write-output ""
|
|
write-output ""
|
|
}
|
|
|
|
StartMarquee " +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ $text +++ "
|
|
exit 0 # success
|