2011-06-24 227 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:你說得對,它不工作,但現在看來是。請看一看。 –