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

相关推荐
柒号华仔16 小时前
「速通Shell」Shell 脚本测试详解
shell
柒号华仔2 天前
「速通Shell」Shell 脚本模块化
shell
柒号华仔3 天前
「速通Shell」Shell编程的错误处理与日志
shell
柒号华仔4 天前
「速通Shell」Shell 数组、关联数组与 mapfile
shell
苏灿烤鱼6 天前
一套进程代替八件套,桌面更稳还是单点更大
linux·github·shell
茶本无香6 天前
通用报表自动化框架:Java调用Shell传参执行PostgreSQL SQL模板
java·sql·postgresql·shell
柒号华仔7 天前
「速通Shell」Shell 循环与遍历
shell·编程语言
十里春风_jzh7 天前
Tabby 修改版:更美观的现代终端
shell·tabby
茶本无香7 天前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
柒号华仔9 天前
「速通Shell」织线为面,Shell条件测试和判断
shell