2013-04-25 104 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