Cmd/bat - problem z "ifami"


(XOR) #1

Mam problem z wyświetlaniem pożądanej zawartości tokenów z pliku tekstowego. Mam plik wejściowy, z którego chce odczytywać tokeny od 2 do 5 (w zależności ile ich jest). Niestety skrypt nie wyświetla mi zawartości w pożądany sposób.

Plik wejściowy:

token1A;token2A;token3A;token4A

token1B;token2B;token3B

 

Mój skrypt testowy:

@echo off

for /f "tokens=1-5 delims=;" %%A in ('type "*.txt"') do (


(lucas80) #2

A zauważasz, że sprawdzanie czegoś co jest stałe nie ma sensu?

Skoro w pierwszym przebiegu pętli masz np. a=1, to wiadomo, że if (a=1) da prawdę itd…

“If’y wykrywają drugą linię” bo to jest w pętli, a w wejściu masz dwie linie.


(XOR) #3

No tak, ale skoro dałem sztywny warunek IF, że

 

 if /i [!one!]==[%%B] if /i [!two!]==[%%C] if /i [!three!]==[%%D] if /i [!four!]==[] echo %%B %%C %%D

To powinien (przynajmniej w teorii) uwzględniać tylko te linie, gdzie są tokeny od 2-3, a przypadki gdzie np jest tylko token 2 zignorować. Czy da się to w ogóle zrobić?