PowerShell/Docs/write-typewriter.md

89 lines
2.5 KiB
Markdown
Raw Normal View History

2022-12-04 10:40:18 +01:00
## The *write-typewriter.ps1* Script
2021-11-08 21:36:42 +01:00
2022-11-17 19:46:02 +01:00
This PowerShell script writes the given text with the typewriter effect.
2021-11-08 21:36:42 +01:00
## Parameters
```powershell
2023-05-26 12:20:18 +02:00
/home/mf/Repos/PowerShell/Scripts/write-typewriter.ps1 [[-text] <String>] [[-speed] <Int32>] [<CommonParameters>]
2021-11-08 21:36:42 +01:00
-text <String>
Specifies the text to write
Required? false
Position? 1
Default value Hello World
-----------
2022-11-17 19:46:02 +01:00
* PowerShell is powerful - fully control your computer
* PowerShell is cross-platform - available for Linux, Mac OS and Windows
* PowerShell is open-source and free
* PowerShell is easy to learn
* PowerShell is fully documented
2021-11-08 21:36:42 +01:00
Thanks for watching
2022-11-17 19:46:02 +01:00
Markus
2021-11-08 21:36:42 +01:00
Accept pipeline input? false
Accept wildcard characters? false
-speed <Int32>
Specifies the speed (250 ms by default)
Required? false
Position? 2
2022-11-17 19:46:02 +01:00
Default value 200
2021-11-08 21:36:42 +01:00
Accept pipeline input? false
Accept wildcard characters? false
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
## Example
```powershell
PS> ./write-typewriter "Hello World"
```
## Notes
2022-11-17 19:46:02 +01:00
Author: Markus Fleschutz | License: CC0
2021-11-08 21:36:42 +01:00
## Related Links
https://github.com/fleschutz/PowerShell
2022-11-17 20:02:26 +01:00
## Source Code
2022-11-17 20:05:34 +01:00
```powershell
2022-11-17 20:02:26 +01:00
<#
.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
}
2022-11-17 20:05:34 +01:00
```
2022-11-17 20:02:26 +01:00
2021-11-08 21:36:42 +01:00
*Generated by convert-ps2md.ps1 using the comment-based help of write-typewriter.ps1*