Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Windows批处理循环仅迭代一次_Batch File - Fatal编程技术网

Batch file Windows批处理循环仅迭代一次

Batch file Windows批处理循环仅迭代一次,batch-file,Batch File,鉴于批处理文件中的以下for循环,为什么这只是打印一个?我也尝试过“tokens=1*” 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 L

鉴于批处理文件中的以下for循环,为什么这只是打印一个?我也尝试过“tokens=1*”


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
)
“!LF!”中%%L的行
设置为“str=!str://=%%~L!”
/
替换为换行符

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
)