Skip to content

Instantly share code, notes, and snippets.

@jpoehls
Last active July 8, 2024 21:06
Show Gist options
  • Save jpoehls/1469460 to your computer and use it in GitHub Desktop.
Save jpoehls/1469460 to your computer and use it in GitHub Desktop.
Batch file wrapper for a PowerShell script. Wraps execution of a PowerShell script inside a Windows batch file.
@echo off
:: Execute the PS1 file with the same name as this batch file.
set filename=%~d0%~p0%~n0.ps1
if exist "%filename%" (
PowerShell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Unrestricted -Command "& '%filename%'"
:: Collect the exit code from the PowerShell script.
set err=%errorlevel%
) else (
echo File not found.
echo %filename%
:: Set our exit code.
set err=1
)
:: Pause if we need to.
if [%1] neq [/nopause] pause
:: Exit and pass along our exit code.
exit /B %err%
@rovinbhandari
Copy link

Hi! How does your batch script handle command line arguments passed to it?

@exoosh
Copy link

exoosh commented Jun 21, 2022

It doesn't, but you could add %* to the line with PowerShell.exe -NoProfile ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment