用户输入BATCH的变量

时间:2013-04-25 20:38:23

标签: variables batch-file

我正在制作一个快速程序,只是为了在批量编码中获得乐趣。

我需要从用户的输入中设置变量,但我不知道如何。
到目前为止,我已经制作了一个“命令”,用于指定你的名字。

@echo OFF
title Name pl0x
color 0a
:start
set INPUT=
set /P INPUT= %=%
IF "%INPUT%"=="/mynameis name" (
goto :init
) ELSE (
goto :start
)
:init
REM I would echo the name like "hello, %NAME%!"

提前致谢。

修改
我需要它以命令的格式,就像用户会写的那样: /mynameis Door Knob
而不是 Enter your name:

1 个答案:

答案 0 :(得分:6)

当您使用Set / P时,您将为接收的用户提示指定变量名称,在这种情况下您使用的变量名称是“INPUT”。

只需使用相同的VarName(“INPUT”)在此处打印变量:

:init
REM I would echo the name like "hello, %NAME%!"
Echo Name: %INPUT%
Pause

示例:

@echo OFF
title Name pl0x
color 0a

:start
set /P "Name="
REM IF /I "%Name%" EQU "/mynameis name" (goto :init) ELSE (goto :start)


:init
Echo Hello, %Name% !
Pause&Exit

输出:

Write your name >> Elektro
Hello, Elektro !
  

更新:

@echo OFF

If /I %~1 EQU "/mynameis" (Set "Name=%~2") ELSE (Exit /B 1)

Echo Hello, %~2
Pause&Exit

语法:

Script.bat /mynameis {name}