我有一个带有这样字符串的文件(MyFile.txt),例如:
VAR1,VAR2,ASDS,123,var6
这个文件是自动生成的,我不知道它会有多少个单词。
我打算打印所有单词,每行一个。并逐一处理它们
for /f "tokens=1-30 delims=," %%a in (MyFile.txt) do call Process.bat %%a
在Process.bat中我有ping %1
例如。
这只处理第一个令牌。我的问题是,我需要处理所有令牌,但我需要自动执行,是否有办法循环遍历所有现有令牌?
在我的例子中:var1,var2,asds,123,var6将是:do call Process.bat %%a
,然后是%%b
,然后是%%c
,然后是%%d
和{{1 }}
谢谢。
答案 0 :(得分:0)
这个怎么样:
set /p var=<MyFile.txt
set var="%var%"
for %%a in ("%var:,=" "%) do call Process.bat %%a
这应该有用。
莫纳
答案 1 :(得分:0)
您可以合并for
来阅读所有行,call
来解析行中的变量
试试这个让你入门
@echo off
setlocal enabledelayedexpansion
for /f %%a in (file.txt) do (
set line=%%a
set line=!line:,= !
call :parms !line!
)
goto :eof
:parms
if "%1"=="" goto :eof
echo ping %1
shift
goto :parms
goto :eof
答案 2 :(得分:0)
即使您在Myfile.txt
@echo off&cls
for /f "delims=" %%a in (MyFile.txt) do for %%b in (%%a) do call Process.bat %%b