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

PowerShell如何将管道提取的package.json版本号拼接至curl请求URL

问题解答

1. 单管道拼接参数完全可以实现

你可以通过ForEach-Object(可简写为%)捕获管道传递的版本号,直接拼接进URL,两种常用实现方式如下:

方式1:使用PowerShell原生请求命令

Get-Content package.json | Out-String | ConvertFrom-Json | Select-Object -Expand version | ForEach-Object { Invoke-WebRequest -Uri "http://localhost:3000/api/version/update/$_" }

方式2:调用原生curl二进制

Get-Content package.json | Out-String | ConvertFrom-Json | Select-Object -Expand version | ForEach-Object { curl.exe "http://localhost:3000/api/version/update/$_" }

其中$_代表管道传递到当前步骤的对象,也就是你提取到的版本号。

2. 关于是否替换curl的说明

PowerShell 5.1及更早的Windows默认版本中,curl是Invoke-WebRequest的内置别名,不是系统安装的原生curl二进制文件,直接写curl会调用PowerShell的web请求命令,参数语法和原生curl完全不同,极易报错。建议按需求选择:

  • 如果你习惯PowerShell的命令体系,优先用Invoke-WebRequest,语法统一,返回结果是结构化的PowerShell对象,方便后续做逻辑处理。
  • 如果你必须使用原生curl的特定参数,需要明确写curl.exe来调用原生二进制文件,避免别名冲突。

内容的提问来源于stack exchange,提问作者Christopher Townsend

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:05