基于此脚本,扩展其他服务
使用示例
# 运行效果相同
# service.cmd status -name abc.jar -port 8080
# service.cmd status --name=abc.jar --port=8080
D:\test>service.cmd status -name=abc.jar -port=8080
Action: status
Port: 8080
Name: abc.jar
保存为 service.cmd
@echo off
setlocal enabledelayedexpansion
set "action="
set "port="
set "name="
:parse_args
if "%~1"=="" goto :do_main
set "arg=%~1"
if "!arg:~0,2!"=="--" (
set "arg=!arg:~2!"
) else if "!arg:~0,1!"=="-" (
set "arg=!arg:~1!"
)
rem 检查第一个参数是否是操作类型
if not defined action (
set "action=!arg!"
shift
goto :parse_args
)
if /i "!arg!"=="port" set "port=%~2"
if /i "!arg!"=="name" set "name=%~2"
shift
goto :parse_args
:do_main
echo Action: %action%
echo Port: %port%
echo Name: %name%