批处理脚本中的 cmd 到 powershell 转换

批处理脚本中的 cmd 到 powershell 转换

有没有办法编写一个批处理脚本,通过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

相关内容