Supportnet / Forum / WindowsXP
Script aus BatchDatei laufen lassen und das Ergebnis in gleich Datei bloss andere Endung speichern
Frage
Hallo alle zusammen.
Ich habe ein Klasse AWK Script geschrieben, welches ich aus eine Batchdatei aufrufen möchte. Das ist kein Problem:
awk -f XXX.AWK Test.txt > Test1.txt
Die Ausführung klappt wunderbar.
Mein Problem:
Die Datei über die ich das AWk Script laufen lasse ist mit einem Datum versehen, welches ich vorher nicht weiss. Sprich es ändert sich und will es mit der einen Batchdatei erschlagen. Das Ergebnis soll mit dem gleichen Name allerdings mit einer anderen Endung abgespeichert werden.
Ich dachte so:
awk -f XXX.AWK %1.txt > %1.txu
leider bekomme ich den Fehler: Cannot open file ´.txt´ for reading.
Wenn ich den Namen aber ausschreibe ist es kein Problem.
Ich hoffemir kann jemand helfen und vor allem, dass das Problem verständlich ist.
Vielen Dankim Voraus.
Harry
Antwort 1 von ralfb
Hi,
die Meldung scheint mir vom Programm AWK zu kommen.
Meine begrenzten Programmierkenntnisse sagen mir dass Du mit der Variablen "%1" einen Teilstring einbasteln willst.
Wenn Du Deine Batchdatei ausführst, muss Du sie mit Parameter aufrufen, also:
beispliel.bat text1
Machst Du das so?
die Meldung scheint mir vom Programm AWK zu kommen.
Meine begrenzten Programmierkenntnisse sagen mir dass Du mit der Variablen "%1" einen Teilstring einbasteln willst.
Wenn Du Deine Batchdatei ausführst, muss Du sie mit Parameter aufrufen, also:
beispliel.bat text1
Machst Du das so?
Antwort 2 von Harry2300
Ja das wäre eine Möglichkeit, dass es vom AWK kommt. Wenn ich den Befehl direkt in die Kommandozeile eingebe bekomme ich die gleich Fehlermeldung.
Das Problem ist, dass die dateien mit einem datum und einer laufenden Nummer versehen sind: Bsp: Protokoll20060111_212.txt
Mein Anliegen ist es einfach die Batchdatei dort reinzuwerfen und zu starten. Aber ich kann den Parameter für die Datei nicht angeben, da sich der Name immer ändert...
Das Problem ist, dass die dateien mit einem datum und einer laufenden Nummer versehen sind: Bsp: Protokoll20060111_212.txt
Mein Anliegen ist es einfach die Batchdatei dort reinzuwerfen und zu starten. Aber ich kann den Parameter für die Datei nicht angeben, da sich der Name immer ändert...
Antwort 3 von ralfb
ohne Parameterübergabe funzt das nicht
Im Prinzip müsstest Du den Dateinamen vorher mit anderen Batchbefehlen ermittelnlassen (dir, tree o.ä.) und dann auch noch die Endung (mit Punkt) abschneiden... viel Spass beim tüfteln!
;))
Im Prinzip müsstest Du den Dateinamen vorher mit anderen Batchbefehlen ermittelnlassen (dir, tree o.ä.) und dann auch noch die Endung (mit Punkt) abschneiden... viel Spass beim tüfteln!
;))
Antwort 4 von Harry2300
Vielen Dank für deinen Tipp, aber leider bekomme ich es nicht hin. Habe es mit dir *prot* /b versucht. Aber dann ist noch die Frage wie ich es hinbekomme, den namen für eine Zieldatei zu kopieren...