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

时间:2015-04-20 06:29:37

标签: parsing batch-file cmd batch-processing

我一直试图解决这个问题很长一段时间了,我只是陷入了困境。我只是想在命令行上轻松解析用户输入。

这是我到目前为止所做的:

set /p "cmd=hk -> "

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

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

hk > welcome john

它将返回以下内容:

welcome
John

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

Hello John, how are you?

我尝试使用%% b,这将是该人的名字,但它不起作用。我是批处理脚本的新手,所以我只是在理解像这样的事情上遇到一些麻烦。如果有人能帮我解决这个问题,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

使用以下批处理文件:

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

答案 1 :(得分:0)

set /p "cmd=hk -> "

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

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