tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
14559
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kinglazee kinglazee ist offline Grünschnabel
    Registriert seit
    Jul 2003
    Beiträge
    2
    Hallo,

    ich hoffe hier im Forum auf Hilfe, bin gerade dabei mir so eine Art kleines Backup zu schreiben.

    Ich halbe eine Textdatei die sieht in etwa so aus:

    Verzeichnisse.txt:
    c:\dokumente und einstellungen\user1\...
    c:\dokumente und einstellungen\user2\...
    c:\dokumente und einstellungen\user3\...
    /end

    ich würde gerne diese Zeilen auslesen mit einer Batch und in eine Variabel packen damit ich damit weiterarbeiten kann, leider bekomme ich mit for /F immer nur den 1. token, also "c:\dokumente". Also die meine Zeile wird mit FOR /F nach dem 1. Leerzeichen getrennt.

    Hat jemand eine Idee wie ich das hinbekommen kann damit er die komplette Zeile in eine Variabel packt?

    Wäre euch sehr dankbar, suche schon lange nach einer Lösung!

    MFG kinglazee
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Versuchs mal mit:
    tokens=* liest die ganze Zeile aus der Textdatei aus.
    Code :
    1
    
    FOR /F "tokens=*" %i IN (c:\test.txt) DO ECHO %i

    test.txt:
    c:\ordner 1\abc
    c:\ordner 2\def
    c:\ordner 3\ghi
    Ausgabe:
    C:\>ECHO c:\ordner 1\abc
    c:\ordner 1\abc

    C:\>ECHO c:\ordner 2\def
    c:\ordner 2\def

    C:\>ECHO c:\ordner 3\ghi
    c:\ordner 3\ghi
    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    kinglazee kinglazee ist offline Grünschnabel
    Registriert seit
    Jul 2003
    Beiträge
    2
    hallo,
    danke für die Antwort, aber leider habe ich es mit dieser Zeile schon versucht!

    test.bat:
    FOR /F "tokens=*" %%i IN (text.txt) do call :ablauf %%i
    goto :eof


    :ablauf
    set x=%1
    echo Test: %x%
    :eof

    text.txt:
    zeile 1
    zeile 2
    zeile 3
    zeile 4
    zeile 5
    :eof

    damit bekomm ich folgendes ergebnis:

    C:\TEMP>FOR /F "tokens=*" %i IN (text.txt) do call :ablauf %i

    C:\TEMP>call :ablauf zeile 1

    C:\TEMP>set x=zeile

    C:\TEMP>echo Test: zeile
    Test: zeile

    C:\TEMP>call :ablauf zeile 2

    C:\TEMP>set x=zeile

    C:\TEMP>echo Test: zeile
    Test: zeile

    C:\TEMP>call :ablauf zeile 3

    C:\TEMP>set x=zeile

    C:\TEMP>echo Test: zeile
    Test: zeile

    C:\TEMP>call :ablauf zeile 4

    C:\TEMP>set x=zeile

    C:\TEMP>echo Test: zeile
    Test: zeile

    C:\TEMP>call :ablauf zeile 5

    C:\TEMP>set x=zeile

    C:\TEMP>echo Test: zeile
    Test: zeile

    C:\TEMP>goto :eof
    :eof

    wie kann ich das jetzt abändern damit ich ne variable habe in der steht "Zeile 1"? damit ich halt damit weiterarbeiten kann.

    Bin für alle Tips und Antworten froh!
    MFG kinglazee
     

  4. #4
    floriankruse floriankruse ist offline Mitglied Bronze
    Registriert seit
    Feb 2003
    Beiträge
    30
    Moin lieber spät als nie

    Code :
    1
    
    for /f "tokens=1 delims=;" %%i in (images.dat) do if /I %%i EQU %board% @ECHO %%i

    Damit leist er den ersten Token aus und gibt ihn aus
    Du must ihm sagen wo sein erster Token zu ende ist. Standard ist eine "leerzeile" " " das Ende.
    Aber mit "delims=; setzt er den Standard außer kraft und du kannst eigene Endpunkte festlegen.

    Hoffe das hilft dir weiter.

    Jetzt habe ich aber nochmal ne frage

    Ich brauche das gleiche kann aber die Befehle "Tokens" und "Delims" nicht benutzen. wie kann ich das dan abstellen?

    Gruss Florian
     

Ähnliche Themen

  1. [Batch] Standarddrucker auslesen
    Von Steusi im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 01.10.09, 08:21
  2. Textdatei auslesen, Werte aus Textzeile in bestimmte Zellen schreiben
    Von kristoforus23 im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 17.04.08, 18:32
  3. [Batch] Per Batch Textzeile auslesen und Verbindung testen?
    Von overreaction im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 15.03.08, 20:18
  4. Batch auslesen
    Von Madej im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 21.11.07, 17:00
  5. [Batch] Wert aus Textzeile in Variable übergeben
    Von robert83 im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 23.08.06, 13:13