2011-06-24 9 views
1

行番号1,6,11,16などのテキストファイルの5行目ごとに表示するバッチプログラムを作成します。 head.batコードを修正しようとしましたここで見つける:Windows batch command(s) to read first line from text fileバッチスクリプトを使用して5行目ごとに読み込み

私のコードは次のようなものです:

@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行を変更する必要があるよう

答えて

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は現時点では予期せぬものでした。" – chanchal1987

+0

@ chanchal1987:そうです、それは機能していませんでしたが、今のようです。見てください。 –

関連する問題