forked from fleschutz/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
write-typewriter.ps1
executable file
·31 lines (29 loc) · 1.01 KB
/
write-typewriter.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<#
.SYNOPSIS
Writes text á la typewriter
.DESCRIPTION
This PowerShell script writes the given text with the typewriter effect.
.PARAMETER text
Specifies the text to write
.PARAMETER speed
Specifies the speed (250 ms by default)
.EXAMPLE
PS> ./write-typewriter "Hello World"
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
param([string]$text = "`nHello World`n-----------`n* PowerShell is powerful - fully control your computer`n* PowerShell is cross-platform - available for Linux, Mac OS and Windows`n* PowerShell is open-source and free`n* PowerShell is easy to learn`n* PowerShell is fully documented`n`nThanks for watching`nMarkus`n", [int]$speed = 200) # in milliseconds
try {
$Random = New-Object System.Random
$text -split '' | ForEach-Object {
Write-Host -noNewline $_
Start-Sleep -milliseconds $(1 + $Random.Next($speed))
}
Write-Host ""
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}