vossi75
Goto Top

Mit Batch-Datei andere Batch-Datei aufrufen und ausführen

ich habe in verschiedenen Verzeichnissen Dateien liegen, die ich per batch aufrufen muss um diese in ein Zahlungsverkehrprogramm einzulesen.

hier der Aufruf (Beispiel):
c:\runautotransfer.bat h:\inst dtint0 delete

Im Beispiel wird die Datei "dtint0" eingelesen.
Die Anzahl der zu verarbeitenden Dateien ist nicht bekannt.
Die Routine liefert je Datei einen Errorcode zurück, z. B. 10 = alles OK

Wie muss man vorgehen? DANKE!

Content-ID: 62793

Url: https://administrator.de/contentid/62793

Ausgedruckt am: 25.11.2024 um 22:11 Uhr

miniversum
miniversum 02.07.2007 um 10:29:12 Uhr
Goto Top
Sind die Verzeichnisse immer gleich?

Mal allgemein wür dich sso machen:
@echo off
FOR /F "delims=" %%i in ('dir /b /a-d h:\inst') do call c:\runautotransfer.bat "%%~dpi" "%%~ni" delete

Wenn du mehrere Verziechnisse hast kannst du das ganze entweder mehrmals untereinander machen oder, was schöner ist, Die Verzeichnisse in eine Datei untereinander schreiben (z.b. Verzeichnisse.txt) und eine Schleife zusätzlich rumherum die die Verzeichnisse aus de rDatei ausliest. Das würde dann so aussehen:
@echo off
FOR /F "delims=" %%a in ('type Verzeichnisse.txt') do (
FOR /F "delims=" %%i in ('dir /b /a-d "%%~a"') do call c:\runautotransfer.bat "%%~a" "%%~ni" delete
)

miniversum
vossi75
vossi75 02.07.2007 um 12:05:54 Uhr
Goto Top
die batch-datei "runautotransfer.bat" muss im installationsverzeichnis aufgerufen werden.
im beispiel "root" von "c".

zurzeit erscheint beim starten die meldung: kann pfad nicht finden...

was muss an der batch-datei geändert werden?
Biber
Biber 10.07.2007 um 21:22:31 Uhr
Goto Top
Moin vossi75,

so kommen wir nicht weiter... oder nur sehr schleppend.
ich habe in verschiedenen Verzeichnissen Dateien liegen, die ich per batch aufrufen muss um diese in ein Zahlungsverkehrprogramm einzulesen.

hier der Aufruf (Beispiel):
c:\runautotransfer.bat h:\inst dtint0 delete

Diese Angaben sind IMHO nicht ausreichend, um eine auf Anhieb funktionierende Lösung hier abladen zu können.

Wenn Du schon den Inhalt der c:\runautotransfer.bat nicht posten möchtest, dann bitte kläre uns doch wenigstens über die Bedeutung der Parameter "h:\inst" und "dtint0" auf.
Der erste Parameter "h:\inst" ist ein Verzeichnis, in dem ... Dateien vermutet werden? ..mit bestimmten Namen??
Und der zweite Parameter ist..?? Eine Datei?? ...ein Teil eines Dateinamens??? Eine Datenbank??

So lässt sich doch nur raten, welcher Pfad nicht gefunden wird laut Deiner Fehlermeldung.
Bzw. welche möglichen Fehler offensichtlich schon außerhalb der runautotransfer abgefangen werden müssen, da sie nicht darauf eingestellt ist, dass Pfade nicht gefunden werden können...

Bitte ein bisschen mehr Info.

Grüße
Biber