2021-02-09 19:30:45 +01:00
|
|
|
#!/bin/powershell
|
2021-01-03 18:32:46 +01:00
|
|
|
<#
|
2021-02-06 14:38:58 +01:00
|
|
|
.SYNTAX ./write-marquee.ps1 [<text>] [<speed>]
|
2021-01-03 18:32:46 +01:00
|
|
|
.DESCRIPTION writes the given text as marquee
|
|
|
|
.LINK https://github.com/fleschutz/PowerShell
|
|
|
|
.NOTES Author: Markus Fleschutz / License: CC0
|
|
|
|
#>
|
|
|
|
|
|
|
|
param([string]$Text = "", [int]$Speed = 60) # 60 ms pause
|
|
|
|
if ($Text -eq "") {
|
|
|
|
$Text = "PowerShell is powerful! PowerShell is cross-platform! PowerShell is open-source! PowerShell is easy to learn! Powershell is fully documented"
|
|
|
|
}
|
|
|
|
|
|
|
|
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 ""
|
|
|
|
}
|
|
|
|
|
2021-01-03 18:35:34 +01:00
|
|
|
StartMarquee " +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ $Text +++ "
|
2021-01-03 18:32:46 +01:00
|
|
|
exit 0
|