Kezdőoldal » Számítástechnika » Programozás » Hogyan kell használni a for...

Mima470 kérdése:

Hogyan kell használni a for /f parancsot batch nyelvben?

Figyelt kérdés

Azt szeretném kérdezni hogy a fent említett parancsot pontosan hogyan kell használni. Sok vidót néztem már de egyikben sem magyarázzák el, hogy pontosan mi is ez.

(jelszavak mentésére kellene)



2017. aug. 20. 22:22
 1/5 anonim ***** válasza:
100%
Dokumentáció sincs hozzá?
2017. aug. 20. 22:28
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
nincs
2017. aug. 20. 22:36
 3/5 anonim ***** válasza:
... :D
2017. aug. 20. 22:49
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%

Tessék, itt a doksi, amire azt mondtad, hogy nem létezik:

for /?

2017. aug. 20. 23:03
Hasznos számodra ez a válasz?
 5/5 sharkxxx ***** válasza:
100%

FOR /F ["beállítások"] %változó IN (fájlkészlet) DO parancs

  [parancs_paraméterei]

FOR /F ["beállítások"] %változó IN ("karakterlánc") DO parancs

  [parancs_paraméterei]

FOR /F ["beállítások"] %változó IN ('parancs') DO parancs

  [parancs_paraméterei]


    vagy a usebackq lehetőséggel:


FOR /F ["beállítások"] %változó IN (fájlkészlet) DO parancs

  [parancs_paraméterei]

FOR /F ["beállítások"] %változó IN ("karakterlánc") DO parancs

  [parancs_paraméterei]

FOR /F ["beállítások"] %változó IN (`parancs`) DO parancs

  [parancs_paraméterei]


    A fájlkészlet egy vagy több fájl neve. Minden fájl meg lesz nyitva és

    fel lesz dolgozva mielőtt a következő fájlra kerülne a sor. A

    feldolgozás a következőkből áll: a fájl beolvasása, önálló sorokra való

    szétbontás, az egyes sorok felbontása nulla vagy több tokenre. Ezután a

    FOR ciklus törzse lesz meghívva a talált tokenhez beállított változó(k)

    értékével. Alapértelmezés szerint a /F kapcsoló az első üres,

    elválasztott tokent adja át az összes fájl összes sorából. Az üres sorok

    ki lesznek hagyva. Az alapértelmezett elemzési beállításokat

    felülbírálhatja a "beállítások" paraméter segítségével. Ez egy olyan

    karakterlánc idézőjelek között, amely egy vagy több kulcsszót tartalmaz

    a különböző elemzési beállítások megadásához. A kulcsszók a következők:



        eol=c          - a sorvégét jelző karakter megadása

                          (csak egy)

        skip=n          - a fájl elején kihagyandó sorok száma

        delims=xxx      - elválasztó készlet megadása. Ez lecseréli az

                          alapértelmezett készletet (szóköz és TAB)

        tokens=x,y,m-n  - annak megadása, hogy mely tokeneket kell

                          továbbadni a törzsnek végrehajtásra. Ez további

                          változók lefoglalását teszi szükségessé. A m-n

                          forma egy tartomány, amely az m.-től az n.-ig lévő

                          tokeneket jelenti. Ha a tokens= karakterlánc

                          utolsó karaktere csillag (*), további változó lesz

                          lefoglalva, és az utolsó token feldolgozása után

                          megkapja a maradék sort.

        usebackq        - az új szemantika használatát jelzi, amikor

                          a záró idézőjelek közé tett karakterlánc parancsként

                          lesz értelmezve, míg az egyszeres idézőjelek közé

                          tett karakterlánc parancskarakterláncnak számít,

                          és lehetővé teszi a kettős idézőjelek használatát

                          a fájlnévkészletben.


    Néhány példa segíthet:


FOR /F "eol=; tokens=2,3* delims=, " %i in (sajátfájlom.txt) do

@echo %i %j %k


    A fenti példa a sajátfájl.txt fájl minden sorát elemezné a

    pontosvesszővel kezdődő sorok kihagyásával, minden sor 2. és 3.,

    szóközzel vagy TAB-bal elválasztott tokenjét átadná a törzsnek. Figyelje

    meg a FOR törzsének %i hivatkozását a 2. token, a %j hivatkozását a 3.

    token és a %k hivatkozását a 3. token után lévő tokenekre. Szóközöket

    tartalmazó fájlnevek esetén a fájlneveket kettős idézőjelbe kell rakni.


    Ha így szeretné használni a kettős idézőjeleket, a usebackq lehetőséget

    is használnia kell, különben a kettős idézőjelek feldolgozandó

    karakterláncként lesznek értelmezve.


    A %i explicit van deklarálva a FOR állításban, a %j és a %k implicit

    vannak deklarálva a tokens= lehetőséggel. Maximum 26 tokent adhat meg a

    tokens= sor segítségével, de csak akkor, ha nem próbál meg a 'z' vagy a

    'Z' betűknél nagyobbat megadni.

    Megjegyzés: A FOR változónevekben a kis- és nagybetűk különbözőnek

    számítanak, globálisak, és nem lehet egyszerre több, mint 52 aktív.


    A FOR /F parancsot egy azonnali karakterlánc elemzésére is használhatja,

    ha a zárójelek közti fájlnévkészletet egyszerű idézőjelek közé rakja,

    Ekkor egy fájlból származó egyszerű sorként lesz feldolgozva.


    Végül a FOR /F parancsot egy parancs kimenetének feldolgozására is

    használhatja. Ezt a zárójelek közötti fájlnévkészlet ellentétes

    idézőjelek közé rakásával teheti meg. Ekkor parancssorként lesz

    tekintve, amely egy gyermek CMD.EXE-nek lesz átadva, és a kimenete a

    memóriában lesz rögzítve, és fájlként lesz feldolgozva. Ezért ez a

    példa:


      FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i


    a környezeti változók neveit sorolná fel az aktuális környezetben.


Továbbá a FOR változóhivatkozások helyettesítései is bővültek.

Most már a következő szintaxist is használhatja:


    %~I        - behelyettesítése a %I paraméter idézőjelek (") nélkül

    %~fI        - behelyettesítése a %I teljesen minősített elérési útja

    %~dI        - behelyettesítése a %I meghajtóbetűjele

    %~pI        - behelyettesítése a %I elérési útja

    %~nI        - behelyettesítése a %I fájlneve

    %~xI        - behelyettesítése a %I fájlkiterjesztése

    %~sI        - csak rövid fájlneveket tartalmazó elérési út

    %~aI        - behelyettesítése a %I fájlattribútumai

    %~tI        - behelyettesítése a %I dátuma/ideje

    %~zI        - behelyettesítése a %I fájlmérete

    %~$PATH:I  - A PATH környezeti változóban lévő könyvtárak

                  keresése, és %I behelyettesítése az első megtalált teljesen

                  minősített elérési úttá. Ha a környezeti változó neve

                  nincs definiálva, vagy a fájl nem található a keresés

                  során, a behelyettesítés üres karakterlánc lesz.


A módosítókat összetett eredmények érdekében csoportosítani is lehet:


    %~dpI      - behelyettesítése a %I meghajtóbetűjele és elérési útja

    %~nxI      - behelyettesítése a %I fájlneve és kiterjesztése

    %~fsI      - behelyettesítése a %I teljes elérési útja rövid nevekkel

    %~dp$PATH:I - %I a PATH környezeti változóban felsorolt könyvtárak

                  közötti keresése, és az első megtalált

                  meghajtóbetűjelévé és elérési útjává való

                  behelyettesítése.

    %~ftzaI    - behelyettesítése a %I egy DIR parancs kimenetéhez hasonló

                  formája.


A fenti példákban a %I és PATH változók más érvényes értékekkel

helyettesíthetők. A %~ szintaxist érvényes FOR változónév zár le. Nagybetűs

változónevek választása (pl. %I) olvashatóbbá teszi a sort, és elkerüli a

kis- és a nagybetűket nem megkülönböztető módosítókkal való keveredést.

2017. aug. 20. 23:17
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!