Powershell script gets stuck, doesn't exit when called from batch file
powershell, windows
Solution
Try adding the /WAIT parameter. It will keep the .bat waiting until the PowerShell script completes.
START /WAIT powershell "& "C:\data\etc\run_import_script.ps1"
Problem
I have a PowerShell script that connects to a web site, and parses its returned data (It's about importing a previously uploaded SQL file into the web site's data base). The PowerShell script uses `wget`, something I may replace by a native function later. The import process is embedded in a script that is executed by a 3rd party program called scriptFTP. The script runs fine when I call it from a single .bat file like so: ``` powershell "& "C:\data\etc\run_import_script.ps1" exit %ERRORLEVEL% ``` However, when I call this .bat file from within the greater ScriptFTP context, the following happens: - The PowerShell script is executed. I confirmed this my sending myself an E-Mail each time the remote import script got called. - PowerShell doesn't seem to exit, and script execution gets stuck. I can still cancel the whole thing using Ctrl+C but the following commands never get executed. When I change the batch file to the following: ``` start powershell "& "C:\data\etc\run_import_script.ps1" exit %ERRORLEVEL% ``` it works, running the PowerShell script in a new console, but I can't grab the error level that PowerShell returns. I have tried calling PowerShell from ScriptFTP directly, bypassing the batch file, but with the same result: It just gets stuck. Any output I have the PowerShell script do using `Write-Output` or `Write-Host` is not displayed. All programs run under the same user, me. Does anybody have any ideas what to do?