Über Batch die Dateiendung abfragen und danach zur Weiterverarbeitung auf eien Sprungmarke gehen
Hallo Leute,
ich bin Neu in diesem Forum und hoffe das ich einen Beitrag dazu leisten kann andere KollegenInnen zu unterstützen respektive um Unterstützung zu erhalten.
Vielen Dank
Eddy
Hallo Leute,
ich habe folgende Herausforderung. Ich möchte über einen Batchjob in einem Verzeichnis nach einer Datei an Hand einer Dateiendung suchen und wenn diese Datei vorhanden ist, soll über eine Sprungmarke auf einen anderen Befehl gesprungen werden. In meinem Fall zu dem Befehle "Call ....." Nach dem das Programm seine Arbeit abgeschlossen hat ( einlesen von Daten) soll wieder mit der nächsten Befehl abgearbeitet werden.
Dieser Batchjob soll jeden Tag ausgeführt werden. Das habe ich schon realisiert. Aber es stehen nicht jeden Tag Dateien zur Verfügung mit der Endung (.ncd) Sind keine Dateien vorhanden soll der Aufruf von "Call..." nicht ausgeführt werden.
Und genau hier habe ich meine Probleme. Einmal die Abfrage und anschließend, wenn keine Datei vorhanden ist.
Hier mein Script:
Vielen Dank im Voraus.
Eddy
[Edit Biber] Codeformatierung. [/Edit]
ich bin Neu in diesem Forum und hoffe das ich einen Beitrag dazu leisten kann andere KollegenInnen zu unterstützen respektive um Unterstützung zu erhalten.
Vielen Dank
Eddy
Hallo Leute,
ich habe folgende Herausforderung. Ich möchte über einen Batchjob in einem Verzeichnis nach einer Datei an Hand einer Dateiendung suchen und wenn diese Datei vorhanden ist, soll über eine Sprungmarke auf einen anderen Befehl gesprungen werden. In meinem Fall zu dem Befehle "Call ....." Nach dem das Programm seine Arbeit abgeschlossen hat ( einlesen von Daten) soll wieder mit der nächsten Befehl abgearbeitet werden.
Dieser Batchjob soll jeden Tag ausgeführt werden. Das habe ich schon realisiert. Aber es stehen nicht jeden Tag Dateien zur Verfügung mit der Endung (.ncd) Sind keine Dateien vorhanden soll der Aufruf von "Call..." nicht ausgeführt werden.
Und genau hier habe ich meine Probleme. Einmal die Abfrage und anschließend, wenn keine Datei vorhanden ist.
Hier mein Script:
Set TRANSFERVERZEICHNIS=C:\1RZ\Import
Set MANDANT=0999
Set Endung=ncd
REM Nachstehend PPAYNUMMER=PPAY-Kundennummer
Set NUMMER=0999
Set VERZEICHNIS=C:\1RZ\Test
IF EXIST %TRANSFERVERZEICHNIS%\%DATE%-%MANDANT%.log DEL /F %TRANSFERVERZEICHNIS%\%DATE%-%MANDANT%.log
For %%n in (*.ncd) do Goto PO GOTO Weiter <=== Hier habe ich meine Probleme, ich weiß nicht wie ich meine o.g Vorgaben umsetzen kann
REM echo *** Am %DATUM% %ZEIT wurden keine Daten eingelesen*** >>%TRANSFERVERZEICHNIS%\%MANDANT%\log\%DATE%-%MANDANT%.log
REM Aufruf vom wenn Daten
REM im Verzeichnis C:\1RZ\Import vorhanden sind
REM call %VERZEICHNIS%\po_import.bat
REM ##################################################
REM Löschen der verarbeiteten *.NCD Dateien
REM muss ich noch realisieren bzw. die Datei nur umbenennen nach Verarbeitung
:Weiter
findstr /c:"Es wurden keine Dateien eingelesen" %TRANSFERVERZEICHNIS%\log\ImportError.log
echo
echo *** Am %DATUM% um %ZEIT% sind keine Dateien zur Verarbeitung vorhanden *** >>%TRANSFERVERZEICHNIS%\log\%DATE%-%MANDANT%.log
echo
Exit
Vielen Dank im Voraus.
Eddy
[Edit Biber] Codeformatierung. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205131
Url: https://administrator.de/contentid/205131
Ausgedruckt am: 15.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Eddy19 und willkommen im Forum!
Versuch es so:
Anstelle der "
Wenn sichergestellt ist, dass es maximal eine passende Datei geben kann, funktioniert natürlich auch die "
Grüße
bastla
Versuch es so:
dir *.%Endung% >nul 2>nul && (
echo Mindestens eine Datei gefunden
) || (
echo Keine Datei gefunden
)
echo
"-Ausgaben kannst Du natürlich auch Sprungbefehle oder ganze Codeblöcke verwenden ...Wenn sichergestellt ist, dass es maximal eine passende Datei geben kann, funktioniert natürlich auch die "
for
"-Variante - es wird ja für jede gefundene Datei der "do
"-Teil ausgeführt:For %%n in (*.ncd) do Goto :Gefunden
echo Keine Datei gefunden
goto :eof
:Gefunden
echo Datei gefunden
bastla