有没有办法编写一个批处理脚本,通过C:\>cmd.exe a.bat
切换powershell.exe
并运行剩余的代码行?
1. | echo "Hi. I'm cmd.exe."
2. | powershell
3. | echo "Now, I'm PowerShell.exe! Look:"
4. | get-random
这只是停止第 2 行之后等待输入。
答案1
您可以编写一个 .bat 文件并将其用作第一行:
;@Findstr -bv ;@F "%~f0" | powershell -noprofile -command - & goto:eof
此行将当前文件(“%~f0”)中所有不以“;@F”开头的行通过管道传输到 PowerShell 以执行。其余行将是 PowerShell 代码。以下是示例。
;@Findstr -bv ;@F "%~f0" | powershell -noprofile -command - & goto:eof
$procCount = (Get-Process).Count
Write-Host "There are $procCount processes running right now." -fore green
Start-Sleep 5