我正在制作一个快速程序,只是为了在批量编码中获得乐趣。
我需要从用户的输入中设置变量,但我不知道如何。
到目前为止,我已经制作了一个“命令”,用于指定你的名字。
@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:
答案 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}