我的最终目标是采取类似" a.b; c.d; e.f.g"并对由&#39 ;;'分隔的每个标记执行操作,其中包括一个for循环,该循环分别处理由'
分隔的每个子语句。'我已将原点输入拆分为:
FOR %%i IN (%input%) DO (
ECHO %%i
)
这似乎有效,但现在我无法使用:.=;
语法来获取%%我准备再次拆分。我已尝试SET iVar=%%i
然后能够使用此语法但SET无法正常工作,iVar
仍然为空。我确实有EnableDelayedExpansion设置。
为了澄清,如果循环变量只是批量中的正常变量,我的最终脚本将是这样的:
FOR %i% IN (%input%) DO (
ECHO %i%
FOR %j% in (!i:.=;!) DO (
ECHO %j%
)
)
,输出为
a.b
a
b
c.d
c
d
e.f.g
e
f
g
答案 0 :(得分:1)
试试这样:
@echo off
setlocal enabledelayedexpansion
set "$input=a.b;c.d;e.f.g"
for %%a in (%$input%) do (
echo %%a
set "$int=%%a"
set "$int=!$int:.= !"
for %%b in (!$int!) do echo %%b)