You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows环境下如何从标准输出运行GitHub发布的EXE文件(替代Bash方式)

Windows环境下如何从标准输出运行GitHub发布的EXE文件(替代Bash方式)

我明白你想要实现的效果——在Windows上复刻Linux里curl -o- ... | bash的便捷性,直接下载自己GitHub项目发布的EXE文件并立即运行,不用手动保存再启动对吧?下面给你几个实用的方案:

方法一:PowerShell(推荐,Windows 10/11默认预装)

PowerShell是Windows现在的首选命令行工具,语法灵活且功能强大。你可以用下面的命令实现需求:

Invoke-WebRequest -Uri "https://github.com/USERNAME/PROJECT/releases/latest/download/TORUN.exe" -OutFile "$env:TEMP\TORUN.exe"; & "$env:TEMP\TORUN.exe"
  • 这段命令先把EXE文件下载到系统临时文件夹($env:TEMP指向的路径),避免占用固定存储;
  • &符号调用下载好的EXE文件直接运行;
  • 如果想在程序运行结束后自动清理临时文件,可以在命令末尾追加:; Remove-Item "$env:TEMP\TORUN.exe"(注意:如果你的程序是常驻后台类型,这一步可能会失败,需要手动删除)。

方法二:CMD命令行(兼容旧版Windows)

如果你习惯用传统CMD,也可以借助系统自带的certutil工具来实现(Windows 7及以上都支持):

certutil -urlcache -split -f "https://github.com/USERNAME/PROJECT/releases/latest/download/TORUN.exe" "%TEMP%\TORUN.exe" && "%TEMP%\TORUN.exe"
  • -urlcache -split -f参数用于强制下载文件并忽略缓存;
  • &&表示只有下载成功后才执行后面的运行命令;
  • 同样,要自动清理临时文件可以追加: && del "%TEMP%\TORUN.exe"

为什么不能像Bash那样直接管道执行?

和Linux的Shell脚本不同,Windows的EXE程序无法直接从标准输入读取并运行,必须先将文件保存到本地磁盘(哪怕是临时目录)才能执行,这是两种系统程序运行机制的差异,所以咱们只能先下载再启动。

备注:内容来源于stack exchange,提问作者ty246

火山引擎 最新活动