解析用户输入 - 批处理脚本

Parsing User Input - Batch Scripting

我已经尝试解决这个问题很长一段时间了,但我只是被困住了。我只是想轻松地解析命令行上的用户输入。

这是我目前的情况:

set /p "cmd=hk -> "

for %%a in (%cmd%) do (
   echo %%a
)

使用上面的代码,如果我输入以下命令:

hk > welcome john

它将return以下内容:

welcome
John

现在,我要做的是让输出看起来像这样:

Hello John, how are you?

我尝试使用 %%b,这将是此人的姓名,但它没有用。我对批处理脚本很陌生,所以我在理解这样的事情时遇到了一些麻烦,例如。如果有人能帮我解决这个问题,将不胜感激。

set /p "cmd=hk -> "

for /f %%a in ("%cmd%") do (
   echo Hello %%a, how are you?
)

解析你需要的字符串FOR /F

使用以下批处理文件:

set /p "cmd=hk -> "
for /f "tokens=2 delims= " %%a in ("%cmd%") do (
   echo Hello %%a, how are you?
)

输入:

Welcome John

输出:

Hello John, how are you?

有关如何使用 tokensdelims 的详细信息,请参阅 for /f