mirror of
https://github.com/fleschutz/PowerShell.git
synced 2025-08-08 20:54:38 +02:00
Rename folder Docs to docs
This commit is contained in:
78
docs/give-reply.md
Normal file
78
docs/give-reply.md
Normal file
@ -0,0 +1,78 @@
|
||||
## The *give-reply.ps1* PowerShell Script
|
||||
|
||||
This PowerShell script gives a reply in English on the console and by text-to-speech (TTS).
|
||||
|
||||
## Parameters
|
||||
```powershell
|
||||
give-reply.ps1 [[-text] <String>] [<CommonParameters>]
|
||||
|
||||
-text <String>
|
||||
Specifies the text to speak
|
||||
|
||||
Required? false
|
||||
Position? 1
|
||||
Default value
|
||||
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> ./give-reply "Hello World"
|
||||
|
||||
```
|
||||
|
||||
## Notes
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
|
||||
## Related Links
|
||||
https://github.com/fleschutz/PowerShell
|
||||
|
||||
## Source Code
|
||||
```powershell
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Gives a reply
|
||||
.DESCRIPTION
|
||||
This PowerShell script gives a reply in English on the console and by text-to-speech (TTS).
|
||||
.PARAMETER text
|
||||
Specifies the text to speak
|
||||
.EXAMPLE
|
||||
PS> ./give-reply "Hello World"
|
||||
.LINK
|
||||
https://github.com/fleschutz/PowerShell
|
||||
.NOTES
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
param([string]$text = "")
|
||||
|
||||
function GetTempDir {
|
||||
if ("$env:TEMP" -ne "") { return "$env:TEMP" }
|
||||
if ("$env:TMP" -ne "") { return "$env:TMP" }
|
||||
if ($IsLinux) { return "/tmp" }
|
||||
return "C:\Temp"
|
||||
}
|
||||
|
||||
try {
|
||||
Write-Host '“'$text' ”' # to write the reply on the console
|
||||
if (!$IsLinux) {
|
||||
$TTS = New-Object -ComObject SAPI.SPVoice
|
||||
foreach($Voice in $TTS.GetVoices()) {
|
||||
if ($Voice.GetDescription() -like "*- English*") { $TTS.Voice = $Voice }
|
||||
}
|
||||
[void]$TTS.Speak($text)
|
||||
}
|
||||
"$text" > "$(GetTempDir)/last_reply_given.txt" # to remember last reply
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
exit 1
|
||||
}
|
||||
```
|
||||
|
||||
*Generated by convert-ps2md.ps1 using the comment-based help of give-reply.ps1*
|
Reference in New Issue
Block a user