将Sentence数组转换为批处理脚本中的单词

时间:2013-09-10 15:56:34

标签: batch-file

我的句子中有一个用下划线分隔的单词

sentence = matt_george_phil

我想用数组转换这句话中提到的名字,即

arr[0] = matt
arr[1] = george
arr[2] = phil

我是批处理脚本的新手。有人可以告诉你该怎么做。谢谢。

我尝试了类似

的内容
setlocal enableextensions enabledelayedexpansion
echo run

set sentence=a~b~c

set /a i=0

for /f "tokens=1,2,3 delims=~" %%a in ("%sentence%") do (
   set /a i+=1
   set array[!i!]=%%a
)

echo %array[1]%
echo %array[2]%

但这种逻辑似乎存在一些问题。

1 个答案:

答案 0 :(得分:0)

BAT语言没有数组的概念。但是你可以用各种技术模仿它。

其中一种技术是利用CALL命令中传递的参数的自动解析。

阅读HELP SET和HELP CALL并尝试此...

SET sentence=matt_george_phil
SET sentence=%sentence:_=%
CALL :asarray %sentence%
goto :eof

:asarray
echo first element = %1
echo second element = %2
echo third element = %3