As a Chief Petty Officer in the US Navy, I often find myself with a really long article or email to read. This can be a bit of a pain when I have a lot of work to do. Don’t get me wrong, I go through everyone. I just do it a bit of a different way. Back in August of 2013, I published my Out-Voice cmdlet. It simply uses the Windows Text-to-Speech converter to read what ever strings you send it. Below is my Read-Article cmdlet.
To use it, just copy your long email or article into a text file and let it go. I’m including this in the source code that I am sending my PowerShell students home with since it gives two examples of basic error handling. If you need a copy of Out-Voice, you can get it here. I have it loading as one of my PowerShell modules.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| Function Read-Article { <# .SYNOPSIS Reads a text file.
.DESCRIPTION Reads a text file. The cmdlet Out-Voice must be loaded in memory. You can get a copy of Out-Voice at: http://mctexpert.blogspot.com/2013/08/have-powershell-verbally-provide.html
.PARAMETER $File The name of the txt file to read.
.PARAMETER $Voice Allows for the default choice to be changed using the default voices installed on Windows 8. Acceptable values are: US_Male UK_Female US_Female
.EXAMPLE Read-Article News.txt
Reads the text file News.txt
.NOTES =============================================================================== == Cmdlet: Read-Article == == Author: Jason A. Yoder == == Company: MCTExpert of Arizona == == Date: February 11, 2015 == == Copyright: All rights reserved. == == Version: 1.0.0.0 == == Legal: The user assumes all responsibility and liability for the usage of == == this PowerShell code. MCTExpert of Arizona, Its officers, shareholders, == == owners, and their relatives are not liable for any damages. As with all == == code, review it and understand it prior to usage. It is recommended that == == this code be fully tested and validated in a test environment prior to == == usage in a production environment. == == == == Does this code make changes: NO == == Requirements: Out-Voice must be in memory. To get a copy of Out-Voice: == == http://mctexpert.blogspot.com/2013/08/have-powershell-verbally-provide.html =============================================================================== #> #> [CmdletBinding()] Param ( [parameter(Mandatory=$true)] [String] $File,
[ValidateSet("US_Male", "UK_Female", "UK_Female")] [String] $Voice = "US_Female" )
# Verify that the cmdlet Out-Voice is present in memory. Try {Get-Command -Name Out-Voice -ErrorAction Stop} Catch {Write-Host "The Cmdlet Out-Voice is not in memory,"}
# Load the file Try {$A = Get-Content -Path $File -ErrorAction Stop} Catch {Write-Host "File not found"}
$A | Out-Voice -VoiceType $Voice
} # END: Function Read-Article
|
Comments