Dhi*_*mar 10 windows batch command-line-arguments
我需要创建一个 Windows 批处理脚本,我需要在其中传递一些命令行参数。这些参数可能以任何顺序出现,但脚本应根据参数名称正确选取它们。例如:
<scriptname> -age <agevalue> -gender <gender>
<scriptname> -gender <gender> -age <agevalue>
Run Code Online (Sandbox Code Playgroud)
可以通过上述两种方式中的任何一种调用脚本,但应正确选取年龄和性别并将其分配给变量。参数可以通过它们之前的开关来标识 - 即 -age , -gender 等。
有人可以给我一个内部识别的例子吗?
Mur*_*nik 10
不幸的是,batch 没有getops像bash那样的内置函数。但是,您可以实现自己的穷人变体:
:GETOPTS
if /I %~1 == --age set AGE=%2& shift
if /I %~1 == --gender set GENDER=%2& shift
shift
if not (%1)==() goto GETOPTS
Run Code Online (Sandbox Code Playgroud)
小智 8
你可以用Powershell来做吗?还是需要批量处理?Powershell 让它变得又好又容易,你只需要在你的脚本顶部添加类似这样的东西,然后你就可以以任何顺序调用每个参数
param (
[string]$Age,
[string]$Gender
)
Run Code Online (Sandbox Code Playgroud)
你可以用批处理来做,但它需要大量的参数检查..这里有一些批处理脚本的链接
http://www.ericphelps.com/batch/samples/arguments.bat.txt
(可能重复)
| 归档时间: |
|
| 查看次数: |
6474 次 |
| 最近记录: |