2

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

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

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

4

1 回答 1

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}
于 2013-04-25T20:53:37.650 回答