TippFehler 10 Geschrieben 7. September 2003 Melden Teilen Geschrieben 7. September 2003 Guten Tag Meine erste Frage hier im Board: Ich möchte mit einer Batch Datei eine Pfad einer Text Datei auslesen und in einer Variable speichern zum weiterverbearbeiten. Die Datei ist so aufgebaut: Pfad: (windows\test.zip) und ich brauch nun nur den Pfad "windows\test.zip" Mit findstr schaff ich es nur das er die Zeile anzeigt wo sich der Pfad befindet, aber wie ich den Pfad aus der Zeiel herraustrenne weiß ich nicht. Danke im Vorraus Gruß TippFehler Zitieren Link zu diesem Kommentar
auer 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 Du kannst solche Dinge mit for /f machen. Gib in einer Dosbox for /? ein, da gibt es diverse Optionen. ------------ Gruß, Auer Zitieren Link zu diesem Kommentar
Apotheker 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 For /F "tokens=1-1 delims=()" %%a in ('Type test.txt') do echo %%a Geht nur in einer Batch, sonst die doppelten %-Zeichen raus. test.txt ist die Datei, kannst Du beliebig ersetzen. echo %%a ist nur zum testen, danach Variable=%%a MfG Apotheker Zitieren Link zu diesem Kommentar
TippFehler 10 Geschrieben 8. September 2003 Autor Melden Teilen Geschrieben 8. September 2003 Original geschrieben von Apotheker For /F "tokens=1-1 delims=()" %%a in ('Type test.txt') do echo %%a Danke für deine Hilfe, leider funktioniert der Befehl nicht so recht. Die test.txt beinhaltet folgenden Text: Pfad:(Hallo) Und die Ausgabe der batch Datei lautet: E:\>test.bat E:\>For /F "tokens=1-10 delims=()" %a in ('Type test.txt') do echo %a E:\>echo Pfad: Pfad: Was ist falsch? Gruß TippFehler Zitieren Link zu diesem Kommentar
bigzorro 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 uuuups falscher thread :eek: Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 Muss dann lauten For /F "tokens=1-10 delims=()" %%a in ('Type test.txt') do echo %%b weil es der zweite token ist. thorgood Zitieren Link zu diesem Kommentar
Apotheker 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 For /F "tokens=2-2 delims=()" %%a in ('Type test.txt') do echo %%a Für Deinen Fall, hab ich grade probiert. Mit Tokens wird ein Teilstring angegeben, 1-1 ist also der 1. Teilstring und funktioniert nur, wenn Deine Datei (Hallo) enthält. Wenn vor der ineressanten Textstelle noch etwas anderes steht, dann muss es 2-2 heißen. Also bei Pfad:(Hallo) ist 1-1 Pfad: und 2-2 Hallo, bei Pfad:(Hallo)BillGates ist 1-1 Pfad:, 2-2 Hallo und 3-3 BillGates, man kann auch 1-3 angeben, dann ist %a=Pfad:, %b=Hallo und %c=BillGates, wichtig: Kleinbuchstaben, die Klammern in der Zeichenkette sind die Trennzeichen (Delimiter), daher erscheinen Sie im Ergebnis nicht. MfG Apotheker Zitieren Link zu diesem Kommentar
TippFehler 10 Geschrieben 8. September 2003 Autor Melden Teilen Geschrieben 8. September 2003 Original geschrieben von thorgood weil es der zweite token ist. thorgood Das "1-10" hat zwar komischerweise das selbe ergebnis wie beim erstenmal gebracht, aber wenn ich direkt token=2 eingebe funktioniert es. Hurra Vielen Dank euch beiden Edit: Jetzt hab ich auch versatnden warum es mit token=2 geht. Zitieren Link zu diesem Kommentar
Apotheker 10 Geschrieben 8. September 2003 Melden Teilen Geschrieben 8. September 2003 Gerade gemerkt, also die Smileys :( stehen jeweils für : und ( Apotheker Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.