In a certain scenario, I needed a batch file (bat or cmd extension) that runs PowerShell code, and I could have only one file, so I couldn’t go with the easy way of a batch file calling PowerShell.exe with the -File parameter specifying the path to a ps1 file.

For this, I created a special batch file with a header that reads the contents of itself, excludes the lines that have the batch code (lines stat start with @@) and then runs the rest in PowerShell.

Here is the batch template, just replace the lines below the comment that says “POWERSHELL CODE STARTS HERE” with your PowerShell code.

Though not intended, it’s another way of bypassing the ExecutionPolicy even if it’s set in Group Policy, since the code is run as commands and not a script file.