带参数的批处理文件输入

时间:2014-12-30 09:02:24

标签: batch-file input

我正在进行批量局域网聊天,该聊天具有受支持的命令列表。我希望所有命令都有参数,而不是让用户分开输入提示。

例如:

  

Set /p m=[Command]

因此,如果用户输入:

  

发送嗨

它会产生变量:

  • m=send
  • arg=hi

这应该适用于任何文字,如“说”或“禁止”,而不仅仅是“发送”。

如何使用Windows 7实现此功能。如果需要,我可以发布整个代码。

1 个答案:

答案 0 :(得分:0)

专注于转换命令的问题:

  

发送嗨

变量:

  • m=send
  • arg=hi

您可以使用FOR声明执行此操作。

REM Get user command.
Set /p m=[Command]

REM Reset arg variable.
SET "arg="

REM Parse command and arg out of the user entered value.
REM Tokens are broken up by a space.
FOR /F "tokens=1,* delims= " %%A IN ("%m%") DO (
    SET m=%%A
    REM arg variable will get all text after the first space.
    SET arg=%%B
)

ECHO Command = %m%
ECHO Arg = %arg%

所以进入:

  

发送你好世界

将输出:

Command = send
Arg = hello world