Supportnet Computer
Planet of Tech

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?

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...

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!

;))

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...