使用批处理文件的输入数据创建输出文件

时间:2011-01-17 15:41:33

标签: windows batch-file

我有数据文本文件(包括42行)和批处理文件,每次迭代读取数据文件中的3行,处理它们,然后输出到输出文件,然后读取以下3行等。

似乎是这样:

ECHO OFF
cls

setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (data.txt) do (
set /a N+=1
set v!N!=%%a

)

set iteration=1
set /a eod=%N%/3-1

:start

if %iteration%==1 goto 1
if %iteration%==2 goto 2
.
.

:1
ECHO iteration %iteration% >> output.txt
set sn=!v1!
set s=!v2!
set d=!v3!
goto e

:2
ECHO iteration %iteration% >> output.txt
set sn=!v4!
set s=!v5!
set d=!v6!
goto e
.
.

我想问一下是否可以使用变量,所以我可以在行中弃用重复代码:set sn =!v1!而不是写这样的东西:set sn =!vN!

由于 菜

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

@echo off
SETLOCAL EnableDelayedExpansion
set n=0
for /F "delims=" %%a in (cn.txt) do (
    set /a n+=1
    set "v!n!=%%a"
)

call :GetThreePack 1
echo sn=!sn!
echo  s=!s!
echo  d=!d!
goto :eof

:GetThreePack 
set /a n=3*%1 + 1
set "sn=!v%n%!"

set /a n+=1
set "s=!v%n%!"

set /a n+=1
set "d=!v%n%!"
goto :eof