Eingabeaufforderung for-schleife mit set (cmd-Script)

Dieses Thema im Forum "Tuning & Tweaks" wurde erstellt von liswiet14, 28. August 2015.

  1. liswiet14

    liswiet14 War schon mal da

    2
    0
    1
    Hallo.


    Ich habe folgendes einfach aus Bsp. geschrieben, weil ich bei einem Problem immer wieder fest hänge.

    Code:
    @echo off
    set sub=none
    for %%a in (test1 test2 test3 test4 test5 test6 test7) do (
       set sub=standard
       if "%%a" == "test3" set sub=Sonderfall bei Test 3
       if "%%a" == "test5" set sub=Sonderfall bei Test 5
       echo %%a %sub%
    )
    
    Im Grunde erwarte ich als Ergebnis:
    Code:
    test1 standard
    test2 standard
    test3 Sonderfall bei Test 3
    test4 standard
    test5 Sonderfall bei Test 5
    test6 standard
    test7 standard
    
    Ich bekomme allerdings:
    Code:
    test1 none
    test2 none
    test3 none
    test4 none
    test5 none
    test6 none
    test7 none
    
    Wo liegt bei mir der Denkfehler?

    Ich würde ja verstehen, würde "sub" immer "standard" sein, da vielleicht das hinter dem if in einem child-process nur kurzzeitig aktiv wird.