如何使用批处理脚本跳过注释行以从文本文件中读取

时间:2014-08-06 09:20:19

标签: batch-file cmd

我有一个input.txt文件格式低于。

 //schedulers,scott,schedule
 developers,obu,develop
 //testers,welcome, test

我的要求是使用批处理脚本读取不以符号//开头的行。这里只有一行不以符号//开头。读取该行后需要用符号标记,并将每个标记设置为var。

我尝试了这个无效的批处理脚本。

 for /F "tokens=1,2,3" %%i in (input.txt) do call :process %%i %%j %%k 

 :process
 set var1=%1
 set var2=%2
 set var3=%3

任何人都会对此有所帮助。 感谢

3 个答案:

答案 0 :(得分:1)

for /F "tokens=1,2,3" %%i in ('findstr /v /c:"//" .\InputFiles\input.txt') do call :Start %%i %%j %%k

:Start 
set firsr=%1
set second=%2
set third=%3

然后可以在脚本中的任何位置使用这些值。

答案 1 :(得分:0)

请参阅EOF选项(使用令牌),您只能使用单反斜杠。

for /F "tokens=1,2,3 EOF=\" %%i in (input.txt) do call :process %%i %%j %%k

否则

for /F "tokens=1,2,3" %%i in ('findstr /v /c:"\\" input.txt') do call :process %%i %%j %%k

答案 2 :(得分:0)

@echo off
for /f  "tokens=1-3" %%a in ('findstr  /V "\/\/" "input.txt"') do (call:process %%a %%b %%c) 
exit/b

:process
set "$var1=%1"
set "$var2=%2"
set "$var3=%3"

echo Var1 [%$var1%]
echo Var2 [%$var2%]
echo Var3 [%$var3%]