2015-04-20 64 views
1

我一直在試圖解決這個問題很長一段時間,現在我只是卡住了。我只是試圖在命令行上輕鬆解析用戶輸入。解析用戶輸入 - 批處理腳本

這裏是我到目前爲止有:

set /p "cmd=hk -> " 

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

與上面的代碼,如果我把下面的命令:

hk > welcome john 

它會返回如下:

welcome 
John 

現在,我想要做的是輸出看起來像這樣:

Hello John, how are you? 

我試過使用%% b,這將是人的名字,但它沒有工作。例如,我對批處理腳本非常陌生,所以我只是在理解這樣的一些事情時遇到了一些麻煩。如果有人可以幫我弄清楚這一點,將不勝感激。

+0

我強烈建議您將主題標題(和描述)更改爲更具描述性的內容,如「如何從字符串中獲取第二個單詞?」。您目前的標題和描述令人困惑... – Aacini

回答

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? 

for /f對於如何使用tokensdelims細節。

0
set /p "cmd=hk -> " 

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

解析你需要FOR /F

+0

謝謝@npocmaka的快速回復。我嘗試了上面的代碼,當我輸入命令'Welcome John'時,我得到了以下輸出:歡迎你,你好嗎? – camrymps