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

PowerShell脚本实现带/不带参数运行Java jar包的方法

PowerShell 实现 Java Jar 带参/无参启动脚本

需求与踩坑背景

写PowerShell脚本启动Java Jar包时,需要同时兼容两种调用场景:

  • 无参数直接启动Jar包
  • 传入自定义参数启动Jar包
    之前查阅了大量同类问题解答,包括微软官方PowerShell文档,始终没找到能直接生效的简便实现。从相关技术社区的同类讨论来看,很多开发者都觉得用PowerShell做这类基础操作十分繁琐。
    最初的逻辑设想用伪代码写出来大概是:
# 初始伪代码思路
$PathToApp = "C:\App"

if ($PathToApp 存在) {
    if 无额外传入参数 {
        切换到PathToApp目录
        执行启动命令:java -jar app.jar
    } elseif 有额外传入参数 {
        切换到PathToApp目录
        执行启动命令:java -jar app.jar $传入的参数
    }
} else {
    输出报错:"应用路径未配置..."
}

最终要实现的调用效果:

  • 直接执行./runprogram.ps1即可完成无参启动
  • 执行./runprogram.ps1 file.txt即可带着自定义参数启动

可直接落地的实现脚本

经过调试跑通的可用脚本如下,供有同类需求的开发者参考:

param(
  [string]$OpenFile
)
$AppPath = "C:\App.jar"
# 校验Jar包路径是否存在
if (-not(Test-Path $AppPath)) {
  Write-Error "未找到应用Jar包路径..."
} else {
  if(-not($OpenFile)) {
    # 无参数启动
    Start-Process -FilePath java.exe -ArgumentList "-jar $AppPath"
  } else {
    # 带传入参数启动
    Start-Process -FilePath java.exe -ArgumentList "-jar $AppPath $OpenFile"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 06:36:05