2013-04-25 69 views
2

我正在制作一个快速程序,以便在批处理编码中获得乐趣。来自用户输入BATCH的变量

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

@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:

回答

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 ! 

UPDATE:

@echo OFF 

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

Echo Hello, %~2 
Pause&Exit 

语法:

Script.bat /mynameis {name} 
+0

我那种需要它是一个命令的格式,虽然。 – hexagonest 2013-04-25 20:54:54

+0

我不明白你需要什么,请指定它。 – ElektroStudios 2013-04-25 20:57:34

+0

就像我要做/ mynameis门把手一样。我用一个命令告诉程序我的名字。 – hexagonest 2013-04-25 21:01:05