博文背景
将Powershell脚本嵌入至bat文件中可以有很多意想不到的收获,比如可以通过这个方式绕过授权,或者简化脚本的运行,或者可以便于复杂参数的配置
具体操作
@ECHO off
@setlocal EnableDelayedExpansion
@goto label1
@echo this lines should not be printed
@echo and this whole block (lines 4-8) can actually be removed
@echo I added these just for DoubleWen
@:label1
@set LF=^
@SET command=#
@chcp 65001 > nul
@FOR /F "tokens=*" %%i in ('findstr -bv @ "%~f0"') DO SET command=!command!!LF!%%i
@powershell -noprofile -command !command! & goto:eof
# *** POWERSHELL CODE STARTS HERE *** #
Write-Host '中文测试完美' -Fore red;
Write-Host 'This is PowerShell code being run from inside a batch file!' -Fore red;
$PSVersionTable;
Get-Process -Id $PID | Format-Table;