Programmieung mit batch-Dateien

Hallo zusammen!

Ich habe folgendes Problem. Ein Programm führt eine Reihe von Berechnungen durch. Damit ich nicht jede einzelne Berechnung von Hand starten muss schreibe ich mir jedesmal eine batch-datei. Diese sieht in etwa so aus:

Programmpfad Datei_01
Programmpfad Datei_02
Programmpfad Datei_03

usw…D.h. zuerst gebe ich an mit welchem Programm die Dateien geöffnet werden und anschlißend wird relativ dazu die entsprechende Datei aufgerufen. Diese Dateien müssen natürlich im gleichen Ordner wie die bat-Datei liegen, sonst funktioniert dieser Ablauf naütrlich nicht.

Die Batch-Datei erstelle ich einfach mit dem Editor und nenne sie im letzten Schritt dann in eine bat-Datei um. Nun ist meine Frage, ob ich diesen Ablauf noch weiter verallgemeinern / automatisieren kann. Ich möchte also in einen Ordner schauen und alle dort aufgeführten Dateien in ein txt-File schreiben.

Beispiel: unter C:\test befinden sich die Dateien „x“, „y“ und „z“. Diese Dateien möchte ich mit dem Programm unter C:\Programme\Prgramm.exe ausführen. Dann möchte ich eine Batch-Datei nach folgendem Schema erstellen:

  1. Doppelklick auf „Erstelle_Berechnungs_Batch.bat“
  2. Abfrage: In welchen Ordner soll ich mich sellen?
  3. Eingabe: C:\Test
  4. –> Verzeichniswechsel nach C:\Test
  5. Erstelle eine Txt-Datei nach folgendem Schema:

C:\Programme\Prgramm.exe x
C:\Programme\Prgramm.exe y
C:\Programme\Prgramm.exe z

  1. speicher diese text-Datei im Verzeichnis „C:\Test“ als „berechnung.txt“ und nenne diese dann anschließend in „berechnung.bat“ um.

Kann man so einen Ablauf mit batch-befehlen realisieren oder muss hierzu eine Programmiersprache verwendet werden?

Vielen Dank im Voraus!

Hallo

Ich habe folgendes Problem. Ein Programm führt eine Reihe von
Berechnungen durch. Damit ich nicht jede einzelne Berechnung
von Hand starten muss schreibe ich mir jedesmal eine
batch-datei. Diese sieht in etwa so aus:

Programmpfad Datei_01
Programmpfad Datei_02
Programmpfad Datei_03

Kann man so einen Ablauf mit batch-befehlen realisieren oder
muss hierzu eine Programmiersprache verwendet werden?

ich verstehe wahrscheinlich Dein Problem nicht so
ganz, würde aber aufgrund dessen, was ich verstanden
zu haben glaube, folgendes machen.

  1. Eine Datei ‚berechnung.bat‘ in einem
    Verzeichnis erstellen, welches im Suchpfad
    %PATH des Rechners zu finden ist (C:\WINDOWS, C:\BIN)

[c:\windows\berechnung.bat]

@echo off
set Kommado="C:\Programme\Programm.exe"
for %%f in (\*.\*) do %Kommando% %%f
  1. In das Verzeichnis der „Berechnungen“
    wechseln und ein DOS-Fenster öffnen (CMD),
    siehe auch => http://download.microsoft.com/download/whistler/Inst…

dort einfach:

berechnung

eingeben. Fertig.

Grüße

CMБ

Hallo!

Danke für die schnelle Antwort! Ich habe mir fast gedacht dass das ein bisschen unvertsändlich ist, deshalb hier nochmal alles Schritt für Schritt:

wir befinden uns im Ordner C:\Ordner

Dort befinden sich die dateien

01.dat
02.dat
03.dat

usw. Nun erzeuge ich im Ordner C:\Ordner (momentan nach von Hand) eine batch datei, die ich „berechnung.bat“ nenne. Berechnung.bat ermöglicht es „programm.exe“, die dateien 01.dat, 02.dat, 03.dat usw der Reihe nach abzuarbeiten. berechnung.bat sieht ungefähr so aus:

C:\Programme\Programm.exe -dat 01.dat
C:\Programme\Programm.exe -dat 02.dat
C:\Programme\Programm.exe -dat 03.dat

D.h., es wird der Pfad des Programms angegeben (C:\Programme\Programm.exe) mit „-dat“ wird gesagt dass das Programm.exe Dateien vom Typ *.dat lesen soll und zum Schluss steht dann eben noch WELCHE dat-datei genau eigelesen werden soll.

Erstelle ich eine solche berechnung.bat per Hand, klappt alles wunderbar. Das blöde ist jetzt nur, dass die Daten 01.dat, 02.dat, 03.dat usw. nicht immer zwangsläufig so heißen müssen.

Schauplatzwechsel: Ich stehe wieder im Ordner C:\Ordner.
Dort liegen jetzt die Dateien a.dat und b.dat.

Mein vorher erstelltes „Programm“ berechnung.dat ist jetzt nutzlos, da es ja nur die datein 1.dat, 2.dat und 3.dat abarbeitet.

D.h., ich will nun die Erstellung der Batchdatei berechnung.bat automatisieren, auch wieder mittels Batch-File. Diese neue Batchdatei heißt erstelle_berechnungs_batch.bat

Die erstelle_berechnungs_batch.bat soll so funktionieren:

Sie sucht im aktuellen Verzeichnis nach *.dat Deten und erstellt automatisch eine txt-Datei nach dem Schema wie oben, d.h.

C:\Programme\Programm.exe -dat ?.dat
C:\Programme\Programm.exe -dat ?.dat
C:\Programme\Programm.exe -dat ?.dat

wobei ? eben Platzhalter ist für den Dateinamen der Dat-Datei.

Anschließend wird die Text-Datei gespeichert und in „berechnung.bat“ umbenannt. So erzeuge ich mir immer eine genau für dieses Verzeichnis passende Batchdatei.

Das Umbennenen am Ende ist das kleinste Problem. Zwischenzeitlich habe ich auch schon herausgefunden, dass man mit

dir> berechnung.txt

das aktuelle verzeichnis in eine txt-Datei schreiben kann.

Im Grunde genommen hänge ich jetzt nur noch daran, wie ich diese Textdatei bearbeiten kann. Der prinzipielle Ablauf meines Programms muss dann in etwa so aussehen:

dir> berechnung.txt
editiere berechnung.txt
rename berechnung.txt berechnung.bat

Ich hoffe mein Problem ist einigermaßen verständlich, ich freue mich auf weitere Antworten!

Hallo,

sowas wie

ECHO rem Berechnungsbatch \> ber.bat
DIR \*.dat /B \> l.tmp
FOR /F %%i in (l.tmp) DO ECHO x:\yyy\zzz\my.exe %%i \>\>ber.bat
DEL l.tmp

mit Befehlserweiterung?
Gruß
achim

P.S.: Hilfe zu den Befehlen im Dosfenster.