+ Antworten
Ergebnis 1 bis 7 von 7
  1. #1
    Power Poster forumwurm wird schon bald berühmt werden
    Registriert seit
    09.06.2002
    Ort
    auf dem boden
    Beiträge
    2.239
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    295

    Standard FOR mit 10 Variablen (will nicht)

    hallo zusammen

    hab mir eine FOR schlaufe zusammengebastelt, wenn ich diese im DOS prompt ausführe, dann funktionierts. wenn ich jedoch das script (test.cmd) starte mit diesem befehl, dann klappts nicht.

    was mache ich falsch und könnte man das script auch schöner gestalten?

    Code:
    CALL FOR /F "eol=; tokens=1,2,3,4,5,6,7,8,9,10 delims=, " %i in ('Type Group2Add.csv') do @echo %i %j %k %l %m %n %o %p %q %r
    Group2Add.csv Inhalt:
    Wert1,Wert2, Wert3, Wert4, Wert5,Wert6,Wert7,Wert8, Wert9,Wert10
    etc1,etc2,etc3,etc4,etc5,etc6,etc7,etc8,etc9,etc10
    .....
    usw.

    gruss und dank, fw



  2. #2
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    395
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    118

    Standard

    Innerhalb einer Batch-Datei mußt du %%i statt %i schreiben.

    Und lass mal das CALL weg.
    Mit CALL rufst du Unterroutinen oder externe Batch-Dateien auf, aber keine internen Befehle wie FOR.


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  3. #3
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    395
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    118

    Standard

    Batch-File:
    Code:
    cls
    @echo off
    FOR /F "eol=; tokens=1,2,3,4,5,6,7,8,9,10 delims=, " %%i in ('Type Group2Add.csv') do @echo %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r
    pause

    Ausgabe der Kommandozeile:
    Code:
    Wert1 Wert2 Wert3 Wert4 Wert5 Wert6 Wert7 Wert8 Wert9 Wert10
    etc1 etc2 etc3 etc4 etc5 etc6 etc7 etc8 etc9 etc10
    Drücken Sie eine beliebige Taste . . .


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  4. #4
    Power Poster forumwurm wird schon bald berühmt werden
    Registriert seit
    09.06.2002
    Ort
    auf dem boden
    Beiträge
    2.239
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    295

    Standard

    ups, das CALL hat sich da fälschlicherweise reingeschlichen. das andere werde ich kurz testen, danke für die schnelle antwort.

    Nachtrag: Jawohl, das hat funktioniert. besten dank.


    Geändert von forumwurm (31.08.2010 um 09:28 Uhr)

  5. #5
    Power Poster forumwurm wird schon bald berühmt werden
    Registriert seit
    09.06.2002
    Ort
    auf dem boden
    Beiträge
    2.239
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    295

    Standard

    noch eine andere frage zu FOR, hat mit dem Thema zwar nichts zu tun.

    wie kann ich folgendes bewerkstelligen:

    ich habe eine list.txt mit folgendem Inhalt

    Albert1
    test5
    Zoo3
    Berlin4
    Stadt2


    ich möchte nun eine batchdatei erstellen (test.cmd) welche die list.txt auslesen soll.

    schlussentlich möchte ich per comandozeile folgendes eingeben:

    test.cmd 4

    und das resultat soll (zum testen) ein echo ausgeben

    Berlin4

    Hat da jemand gleich einen Rat.

    Vielen Dank. fw



  6. #6
    No Life Lengen1971 wird schon bald berühmt werden
    Registriert seit
    11.11.2005
    Alter
    40
    Beiträge
    552
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    103

    Standard

    Hi,

    PHP-Code:
    setlocal EnableDelayedExpansion
    cls
    @echo off
    SET CTN
    =0
    FOR /"eol=; tokens=1 delims= " %%i in (list.txt) do (
        IF !
    CTNEQU %1% (
            @ECHO %%
    i
        

        
    SET /A CTN=!CTN!+1    
    )
    pause 
    %1 ist dabei der Übergabeparameter.
    Du mußt aber mit EnableDelayedExpansion arbeiten, da der Batch-Interpreter bei der FOR-Schleife vor der Ausführung die %-Variablen mit den echten Werten ersetzt, somit wäre CTN immer 0.
    Dann aber ! anstatt % verwenden.

    Gruß
    Michel


    Windows 7 Home Premium 32, ATI 3850, AS-Rock ALive XFire, Athlon X2 6000+, 2 Gig Ram

  7. #7
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    395
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    118

    Standard

    Shalom!

    Das geht aber auch ohne EnableDelayedExpansion:

    Code:
    
    
    @echo off
    rem===============
    rem welche zeile soll ausgelesen werden?
    set zeile=4
    rem aus welcher datei soll ausgelesen werden?
    set datei=list.txt
    rem===============
    
    set cnt=0
    for /f "tokens=*" %%i in (%datei%) do (
       set text=%%i
       call :suba
    )
    pause
    goto :eof
    
    :suba
       set /a cnt=%cnt%+1
       if not %cnt% == %zeile% goto :eof
       echo %text%
       goto :eof


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Variablen in Batchdateien
    Von Rumak18 im Forum Allgemein Windows Vista
    Antworten: 5
    Letzter Beitrag: 15.01.2009, 15:51
  2. Variablen in Script
    Von forumwurm im Forum Programmierung und Skripte
    Antworten: 4
    Letzter Beitrag: 13.06.2006, 10:34
  3. DOS Befehle und Variablen
    Von Bertram W2K im Forum Allgemein Windows 2000
    Antworten: 1
    Letzter Beitrag: 05.11.2002, 23:46
  4. Über post erzeugte Variablen klappen nicht mehr
    Von Lambda im Forum Programmierung und Skripte
    Antworten: 6
    Letzter Beitrag: 27.08.2002, 22:35
  5. Variablen-Problem mit PHP
    Von aschweti im Forum Programmierung und Skripte
    Antworten: 3
    Letzter Beitrag: 27.01.2002, 19:08

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Search Engine Friendly URLs by vBSEO 3.6.0