Jump to content

Problem mit FOR und IF


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich habe da ein Problem mit einer FOR-Schleife und IF:

 

so sieht die Batch aus:

 

set SuchString=text

 

for /f "delims=" %%i in ('findstr /B /c:"%SuchString%" "C:\pfad\zur-testdatei\test_datei_text.txt"') do if "%SuchString%"=="%%i" echo >>"C:\pfad\zur-testdatei\%SuchString%.txt" "%%i"

 

In der DOS-Box sehe ich das es funktionier nur leider wird die Datei %SuchString%.txt nicht erstellt.

 

Woran kann das liegen.

 

Danke

 

mfg

 

Michael

Link zu diesem Kommentar

Hallo XP-Fan,

 

hat leider nicht geklappt.

 

Ich glaube das Problem ist, dass mehr als nur der %SuchString% gefunden wird.

 

Was ich vorhabe ist folgendes:

 

Die Batch soll in einer Textdatei nachschauen ob der %SuchString% am Anfang einer Zeile steht.

 

Wenn das so ist, soll die Zeile in die Datei %SuchString%.txt kopiert werden, wenn das

nicht der Fall ist, soll die Datei %SuchString%.txt erstellt werden mit einer "0" drin.

 

mfg

 

Michael

Link zu diesem Kommentar

Moin Michaelk1962,

 

die zwei Striche ist die ODER-Verknüpfung zwischen zwei CMD-Befehlen in einer Zeile.

 

Befehl1 || Befehl2 -----> Bedeutet. wenn Befehl 1 in die Grütze geht/Fehler meldet /Errorlevel ungleich 0 setzt, DANN und nur dann führe Befehl 2 aus

 

Befehl1 && Befehl2 ---> Nur dann, wenn Befehl1 fehlerfrei war (Errorlevel = 0), dann Befehl2

 

Befehl1 & Befehl2 ---> mach immer beides. vergl. die Standard-Batch-Eröffnung "@echo off & setlocal"

 

Im Prinzip ist also "||" gleichbedeutend mit einer Anweisung "if Errorlevel 1 [...dann mach..]"

 

Grüße

Biber

 

Grüße

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...