Re: DOS pole

From: Petr Pokorny <mail (zavinac)>
Date: 08. 09. 2004, 09:18 CEST
Zdenek Sofr <administrator@plastkov.cz>:

> To zni zajimave. Zkusil jsem to a zarazil jsem se hned u FOR. Prikaz v
> podobe
> FOR /f "delims=," %i IN (db.txt) do @echo %i
>
> mi nefunguje. Hodi mi to chybu "i nebyl momentalne ocekavan" (spadne
> na prvnim odkazu na promenou %i - pred IN). Podle helpu by to melo
> chodit (v souboru db.txt je pet textovych hodnot oddelenych carkou).

Klasicka chyba. Podle helpu by to chodit nemelo ;o)))
On je rozdil jestli ten porikaz pises primo do prikazoveho radku, nebo
jestli ho mas uvnitr davkoveho souboru. A ty ho mas na 100% v davce ;o)
Tohle si cetl?

------------
Při použití příkazu FOR v dávkovém programu je třeba napsat
%%proměnná místo %proměnná.
------------

Takze tohle by bylo lepsi:

FOR /f "delims=," %%i IN (db.txt) do @echo %%i

Nicmene jsme si stejne nerozumeli :(. S tim rozdelenim pomoci delims
nemam moc zkusenosti, porad mi to vraci jen jednu cast (dle nastaveni
tokens).

Doporucuju do txt souboru ulozit jednu hodnotu na jeden radek, pak s tim
nemam problemy.

Priklad:

soubor db.txt
-----------
auto
jede
do kopce
a taky z kopce
-----------

soubor go.bat
-----------
@FOR /f "tokens=*" %%i IN (db.txt) do @echo radek: %%i
-----------

vysledek:

radek: auto
radek: jede
radek: do kopce
radek: a taky z kopce


OK?
Jak projit dlouhej string s oddelovacema fakt nevim, teda pokud ma
promenny pocet hodnot. Pokud jsou tam vzdy treba 4 hodnoty pak asi
zabere tohle, vic opet v helpu ;o)

FOR /F "tokens=1-4 delims=, " %i in (db.txt) do @echo %i-%j-%k-%l

Uvnitr davkoveho souboru pochopitelne takto:

FOR /F "tokens=1-4 delims=, " %%i in (db.txt) do @echo %%i-%%j-%%k-%%l


-pp21-
Received on Wed, 8 Sep 2004 09:18:34 +0200

This archive was generated by hypermail 2.1.8 : 08. 09. 2004, 09:19 CEST