我需要使用批处理文件传递命令参数。我该怎么办?我有一个小程序设置,但我不知道如何获取命令参数..或者真的如何发出命令。
@echo OFF
title Name pl0x
color 0a
:start
set INPUT=
set /P INPUT= %=%
IF "%INPUT%"=="/mynameis" (
goto :init
) ELSE (
goto :start
)
:init
Pause&Exit
REM Here, I'd print the name, like this: echo.Hello, %name%
REM I just don't have the variable. And I don't know how to set it.
答案 0 :(得分:2)
使用%1%2等进行参数
所以如果你有mynameis.bat%1将包含test
答案 1 :(得分:1)
参数是一个空格分隔的单词,可以像应用程序中的参数一样使用。
然后如果调用这样的脚本:
Script.Bat word1 word2 word3_word4-word5
参数是:
Argument 1 = "word1"
Argument 2 = "word2"
Argument 3 = "word3_word4-word5" (Because any space).
批处理参数存储在从%1 到%255 的特殊变量中,其中%1 等于“参数1”。< / p>
%0等于当前脚本名称或过程名称。
%*加入所有参数
..特殊修饰符〜扩展参数,不带双引号。
然后,如果我们有这个代码:
@Echo OFF
If /I "%~1" EQU "/Print" (Echo: You called the function "%~1" with the value: "%~2"))
我们正在检查参数1是否等于“/ Print”,如果是等于打印开关的值,则是第二个参数。
然后你可以像这样打电话给你的球棒:
Script.bat /Print Hello!
在此处详细了解批处理参数:http://ss64.com/nt/syntax-args.html