我只获得了1项:添加 - RegistrationPool 以下的for循环。我做错了什么?如何迭代到下一个标记/项?
for /F "delims=!" %%i in ("RegistrationPool"!"SubSystemService") DO (
echo Adding - %%i
echo.
)
答案 0 :(得分:1)
如果您使用逗号或空格而不是感叹号,则只需使用:
for %%i in (RegistrationPool,SubSystemService) DO (
echo testing %%i
echo.
)
答案 1 :(得分:0)
要拆分字符串,您需要一个字符串来拆分
for /F "delims=!" %%i in ("RegistrationPool!SubSystemService") DO (
echo Adding - %%i
)
但是这仍然只会打印一个“添加”行。为什么?。 for /f
将遍历文件/行,每行执行do
正文一次的内容。你只有一行(有两个令牌,但有一行)所以只有一次迭代。
您可以将第二个元素作为第二个标记访问
for /F "tokens=1,2 delims=!" %%i in ("RegistrationPool!SubSystemService") DO (
echo Adding - %%i
echo Adding - %%j
)
第一个令牌存储在指示的可替换参数中,以及按字母顺序存储以下令牌。
但是,如果需要迭代列表,那么正确的构造就是
for %%i in ("RegistrationPool" "SubSystemService") DO (
echo Adding - %%i
)
现在,有一个for
命令迭代元素列表。两个元素,两个迭代,两个“添加”行。