我正在进行批量局域网聊天,该聊天具有受支持的命令列表。我希望所有命令都有参数,而不是让用户分开输入提示。
例如:
Set /p m=[Command]
因此,如果用户输入:
发送嗨
它会产生变量:
m=send
arg=hi
这应该适用于任何文字,如“说”或“禁止”,而不仅仅是“发送”。
如何使用Windows 7实现此功能。如果需要,我可以发布整个代码。
答案 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