PowerShell 脚本来自动安装 jq 、配置环境变量

一个 💡适用于 Windows 的一键 PowerShell 脚本,会完成以下功能:

  1. 检查是否已安装 jq
  2. 如果没有,则自动下载 jq-win64.exe
  3. 将其保存到 C:\Tools\jq(可修改)
  4. 自动将此目录添加到系统环境变量 PATH

✅ 一键安装 jq 的 PowerShell 脚本

可以将以下内容保存为 install-jq.ps1 文件,然后右键选择"以管理员身份运行"

php 复制代码
# 设置目标目录
$jqDir = "C:\Tools\jq"
$jqExe = "$jqDir\jq.exe"
$jqUrl = "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64.exe"

# 如果 jq 已存在则提示
if (Test-Path $jqExe) {
    Write-Host "✅ jq 已安装在 $jqExe" -ForegroundColor Green
    exit
}

# 创建目标目录
if (-Not (Test-Path $jqDir)) {
    New-Item -ItemType Directory -Path $jqDir | Out-Null
    Write-Host "📁 创建目录: $jqDir"
}

# 下载 jq.exe
Write-Host "⬇️ 正在下载 jq..." -ForegroundColor Cyan
Invoke-WebRequest -Uri $jqUrl -OutFile $jqExe

# 设置执行权限
Unblock-File -Path $jqExe

# 添加到系统 PATH(如果尚未添加)
$envPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
if ($envPath -notlike "*$jqDir*") {
    Write-Host "🔧 正在将 jq 目录添加到系统环境变量 PATH..." -ForegroundColor Yellow
    [System.Environment]::SetEnvironmentVariable("Path", "$envPath;$jqDir", [System.EnvironmentVariableTarget]::Machine)
    Write-Host "✅ 已成功添加到 PATH!请重新打开终端以生效。" -ForegroundColor Green
} else {
    Write-Host "✅ jq 路径已在系统 PATH 中" -ForegroundColor Green
}

# 测试安装
Write-Host "`n✨ 你现在可以输入 'jq --version' 来验证安装结果。" -ForegroundColor Cyan

📌 使用说明:

  1. 将代码保存为 install-jq.ps1
  2. 右键以管理员身份运行(添加系统 PATH 需要管理员权限);
  3. 成功后你就可以在任何终端中使用:
css 复制代码
jq --version

如果使用的是 普通 PowerShell ,默认可能禁用了 .ps1 脚本执行,可以先运行这条命令来允许当前用户运行脚本:

sql 复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

相关推荐
dingdingfish4 小时前
Bash 学习 - 第1章:Introduction
bash·shell·programming·introduction
pr_note2 天前
legality检查
shell·tcl
啥都不懂的小小白3 天前
Shell脚本编程入门:从零基础到实战掌握
前端·shell
dingdingfish7 天前
GNU Parallel 学习 - 第1章:How to read this book
bash·shell·gnu·parallel
似霰10 天前
Linux Shell 脚本编程——核心基础语法
linux·shell
似霰10 天前
Linux Shell 脚本编程——脚本自动化基础
linux·自动化·shell
偷学技术的梁胖胖yo11 天前
Shell脚本中连接数据库查询数据报错 “No such file or directory“以及函数传参数组
linux·mysql·shell
纵有疾風起20 天前
【Linux 系统开发】基础开发工具详解:软件包管理器、编辑器。编译器开发实战
linux·服务器·开发语言·经验分享·bash·shell
gis分享者22 天前
Shell 脚本中如何使用 here document 实现多行文本输入? (中等)
shell·脚本·document·多行·文本输入·here
柏木乃一22 天前
基础IO(上)
linux·服务器·c语言·c++·shell