Welcome to the 296th post on tommymaynard.com. It’s countdown to 300!
I’ve recently written a wrapper function. Its purpose is to allow a user the ability to invoke four different functions, by only invoking one — the wrapper. As of part of this assignment, I wrote out a quick function to do some testing. I wanted to determine whether or not I’ll allow the wrapper function the ability to pause between the invocation of each wrapped function. At this point, I think that will be included.
So it’s written down somewhere, here’s what I quickly jotted to test this scenario.
Function Test-Pause { [CmdletBinding()] Param ( [switch]$Pause ) 'First String' If ($Pause) {Pause} 'Second String' If ($Pause) {Pause} 'Third String' If ($Pause) {Pause} 'Fourth String' }
If the Pause parameter isn’t used, the function never stops. In my test, it just works top to bottom, echoing out each string stored inside the Test-Pause function. That works as expected!
PS > Test-Pause First String Second String Third String Fourth String
If the Pause parameter is included, however, it will pause after each time a string is written. Once the user presses Enter, it continues until it’s required to pause again, providing it is.
PS > Test-Pause -Pause First String Press Enter to continue...: Second String Press Enter to continue...: Third String Press Enter to continue...: Fourth String
That was it. I just wanted a place to store this, just in case I find myself in a situation where it might be useful again outside my newest function. Just remember, if you do something like this in an automated fashion, don’t include the Pause parameter: It’s going to require a human that way.