2
从批处理文件给出以下循环,为什么只打印A?我还试图用“令牌= 1 *”Windows批处理for循环仅迭代一次
set str=A/B/C/D/E/F
for /F "delims=/" %%S in ("%str%") do (
echo %%~S
)
从批处理文件给出以下循环,为什么只打印A?我还试图用“令牌= 1 *”Windows批处理for循环仅迭代一次
set str=A/B/C/D/E/F
for /F "delims=/" %%S in ("%str%") do (
echo %%~S
)
的delims选项定义定界符分割每个行成单独的令牌。 令牌本身可以通过成功的参数进行访问。
set str=A/B/C/D/E/F
for /F "tokens=1,2,3,4,5 delims=/" %%S in ("%str%") do (
echo %%~S %%T %%U %%V %%W
)
这将拆分每个线,但要处理A/B/C/D/E/F
作为单独的线。
这可以通过注射换行符
set LF=^
REM ** Two empty lines are required
setlocal EnableDelayedExpansion
set "str=A/B/C/D/E/F"
for %%L in ("!LF!") DO set "str=!str:/=%%~L!"
for /F "delims=/" %%S in ("!str!") do (
echo %%~S
)
线for %%L in ("!LF!") DO set "str=!str:/=%%~L!"
替换/
与换行符
完美完成!谢谢! –