2011-06-24 3 views
1

Je veux faire un programme batch avec affichera toutes les 5 lignes d'un fichier texte, comme les lignes n ° 1, 6, 11, 16 .... J'ai essayé de modifier le code head.bat trouvé ici: Windows batch command(s) to read first line from text fileLire toutes les 5 lignes en utilisant Batch Script

Mon code est comme ci-dessous:

@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 

Ce code ne fonctionne pas. Pouvez-vous s'il vous plaît me dire quel est le problème avec ce code?

Répondre

1

On dirait que vous avez besoin de changer une ligne dans votre script comme suit:

@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 

Maintenant, le script devrait fonctionner.

+0

Ce script ne fonctionne pas. Montrer '% 5 était inattendu en ce moment. ' – chanchal1987

+0

@ chanchal1987: Vous avez raison, ça ne fonctionnait pas, mais ça semble être maintenant. Jetez un coup d'oeil s'il vous plait. –

Questions connexes