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.
Asked: 2023-06-24 02:15:53 +0000
Seen: 8 times
Last updated: Jun 24 '23