2021-09-27 10:38:12 +02:00
<#
2021-07-13 21:10:02 +02:00
. SYNOPSIS
2021-10-04 21:29:23 +02:00
Writes text with the typewriter effect
2021-07-13 21:10:02 +02:00
. DESCRIPTION
2022-01-30 10:49:30 +01:00
This PowerShell script writes text with the typewriter effect .
2021-10-16 16:50:10 +02:00
. PARAMETER text
Specifies the text to write
. PARAMETER speed
Specifies the speed ( 250 ms by default )
2021-07-13 21:10:02 +02:00
. EXAMPLE
2021-09-25 19:43:22 +02:00
PS > . / write-typewriter " Hello World "
2021-08-29 17:50:03 +02:00
. NOTES
2022-01-30 10:49:30 +01:00
Author : Markus Fleschutz / License : CC0
2021-07-13 21:10:02 +02:00
. LINK
https : / / github . com / fleschutz / PowerShell
2020-12-29 15:14:21 +01:00
#>
2020-12-21 14:42:05 +01:00
2021-09-25 19:43:22 +02:00
param ( [ string ] $text = " `n Hello World `n ----------- `n PowerShell is cross-platform `n PowerShell is open-source `n PowerShell is easy to learn `n PowerShell is fully documented `n `n Thanks for watching `n `n :-) `n `n " , [ int ] $speed = 250 ) # in milliseconds
2020-12-21 14:42:05 +01:00
try {
$Random = New-Object System . Random
2021-09-25 19:43:22 +02:00
$text -split '' | ForEach-Object {
2020-12-29 15:14:21 +01:00
write-host -nonewline $_
2021-09-25 19:43:22 +02:00
start-sleep -milliseconds $ ( 1 + $Random . Next ( $speed ) )
2020-12-25 11:30:43 +01:00
}
2021-09-27 10:09:45 +02:00
exit 0 # success
2020-12-21 14:42:05 +01:00
} catch {
2021-09-16 20:19:10 +02:00
" ⚠️ Error: $( $Error [ 0 ] ) ( $( $MyInvocation . MyCommand . Name ) : $( $_ . InvocationInfo . ScriptLineNumber ) ) "
2020-12-21 14:42:05 +01:00
exit 1
}