Ask Your Question
3

What is the method to pause code execution in PowerShell until an executable opens?

asked 2023-06-24 02:15:53 +0000

pufferfish gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2023-06-24 02:19:01 +0000

bukephalos gravatar image

One method to pause code execution in PowerShell until an executable opens is by using a while loop to continuously check whether the process associated with the executable is running. Here is an example:

$exePath = "C:\some\path\to\executable.exe"
$processName = (Get-Item $exePath).BaseName

Start-Process $exePath

while (!(Get-Process $processName -ErrorAction SilentlyContinue)) {
    Start-Sleep -Milliseconds 100
}

# Code execution will continue once the process is detected

This code first starts the executable using the Start-Process cmdlet. Then, it starts a while loop that checks whether the process associated with the executable (identified by its base name) is running using the Get-Process cmdlet. The loop runs continuously until the process is detected, with a short sleep of 100 milliseconds between each loop iteration. Once the process is detected, the loop exits and the code following it will execute.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-06-24 02:15:53 +0000

Seen: 8 times

Last updated: Jun 24 '23