2011-06-24 183 views
1

阅读每5行我想编写一个批处理程序与将显示一个文本文件中的每一个5日线,如线无1,6,11,16 .... 我试图修改head.bat代码这里找到:Windows batch command(s) to read first line from text file使用批处理脚本

我的代码是象下面这样:

@echo off 
setlocal enabledelayedexpansion 
if [%1] == [] goto usage 

SET /a counter=0 

for /f "usebackq delims=" %%a in (%1) do (
set /a testcond=(%%counter-1)%4 
if "!testcond!"=="0" echo %%a 
set /a counter+=1 
) 

goto exit 

:usage 
echo Usage: fifth FILENAME 

:exit 

此代码不能正常工作。能否请你告诉我什么是错用此代码?

回答

1

好像你需要更改一行在你的脚本如下:

@echo off 
setlocal enabledelayedexpansion 
if [%1] == [] goto usage 

SET /a counter=0 

for /f "usebackq delims=" %%a in (%1) do (
set /a "testcond=(counter-1)%%5" 
if "!testcond!"=="0" echo %%a 
set /a counter+=1 
) 

goto exit 

:usage 
echo Usage: fifth FILENAME 

:exit 

现在脚本应该工作。

+0

这个脚本是行不通的。显示'%5是意外的在这个time.' – chanchal1987

+0

@ chanchal1987:你说得对,它不工作,但现在看来是。请看一看。 –