You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中远程运行.bat文件?类比Python远程脚本执行方法

运行远程批处理脚本的可行方式

你给出的示例无法直接生效,因为pwsh是PowerShell的启动命令,它不支持解析批处理(.bat)的语法。要实现类似远程运行Python脚本的效果,有两种可靠方式:

方式一:直接通过cmd.exe执行

批处理是cmd.exe的原生脚本,可将远程获取的内容直接管道给cmd.exe执行:

(Invoke-WebRequest -Uri https://foo.bar.dev/script.bat -UseBasicParsing).Content | cmd.exe /c -

这里/c -表示让cmd.exe从标准输入读取命令内容并执行。

方式二:保存为临时文件后执行

如果需要更稳妥的执行(比如避免编码问题),可以先将远程内容保存为本地临时批处理文件,再调用执行:

# 获取远程批处理内容
$batContent = (Invoke-WebRequest -Uri https://foo.bar.dev/script.bat -UseBasicParsing).Content
# 创建临时文件路径
$tempBat = Join-Path $env:TEMP "remote_script.bat"
# 写入内容(指定ASCII编码避免cmd解析异常)
Set-Content -Path $tempBat -Value $batContent -Encoding ASCII
# 执行脚本
& $tempBat
# 清理临时文件
Remove-Item $tempBat -Force

注意事项

  • 务必确保远程脚本的来源可信,避免运行恶意代码。
  • 如果远程批处理使用了非ASCII编码,需要调整Set-Content的编码参数以匹配原文件,防止出现乱码或执行错误。

内容的提问来源于stack exchange,提问作者Yue JIN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:19:54