dominik50
Goto Top

Batch nur wenn Dateien vorhanden

Hallo

Ich habe eine Batch welche Pdf Dateien in verschieden Ordner verschiebt.

Jetzt möchte ich aber vorher mehrer Ordner Prüfen ob in diesen Pdf Dateien drin sind.
Nur wenn in jedem Ordner eine Pdf ist sollen die eigentlichen Aufgaben gemacht werden wenn nicht soll Batch an das Ende springen.

Kann mir da jemand helfen?

Danke

Content-ID: 668217

Url: https://administrator.de/forum/batch-nur-wenn-dateien-vorhanden-668217.html

Ausgedruckt am: 22.12.2024 um 05:12 Uhr

TK1987
TK1987 18.09.2024 aktualisiert um 12:36:33 Uhr
Goto Top
Moin,

ich würde da mit einer Funktion arbeiten...
@echo off

REM - Prüfe, ob eine PDF-Datei im Ordner "D:\PDF" vorhanden ist  
call :checkIfPdfExists "D:\Pdf" && echo=Es ist eine PDF-Datei vorhanden || echo=Keine Pdf-Datei vorhanden  

pause

exit /b 0
:checkIfPdfExists <dir>
  for %%A in ("%~1\*.pdf") do exit /b 0  
  exit /b 1

Prinzip ist hoffentlich klar: Wenn eine PDF-Datei im Ordner liegt, gibt die Funktion :checkIfPdfExists Errorlevel 0 zurück, sonst 1.


Gruß Thomas

EDIT: Lösung von @Hubert.N einfacher.
Hubert.N
Hubert.N 18.09.2024 um 12:27:53 Uhr
Goto Top
Moin

Wenns Batch sein soll...
If exist *.pdf <do something>
Nicht so kompliziert eigentlich ?!

Gruß
Dominik50
Dominik50 18.09.2024 um 12:29:38 Uhr
Goto Top
Danke für die schnelle Antwort und wie ist das wenn man mehrere Ordner hat die geprüft werden sollen?
TK1987
Lösung TK1987 18.09.2024 aktualisiert um 12:44:10 Uhr
Goto Top
Dann testest du hallt jeden Ordner nacheinander durch...
@echo off

If not exist "D:\Pdf\*.pdf" exit /b 1  
If not exist "D:\Dokumente\*.pdf" exit /b 1  
If not exist "D:\Wo\auch\immer\*.pdf" exit /b 1  

REM Hier der weitere code
Penny.Cilin
Penny.Cilin 18.09.2024 um 12:55:45 Uhr
Goto Top
Ich habe eine Batch welche Pdf Dateien in verschieden Ordner verschiebt.

Jetzt möchte ich aber vorher mehrer Ordner Prüfen ob in diesen Pdf Dateien drin sind.
Nur wenn in jedem Ordner eine Pdf ist sollen die eigentlichen Aufgaben gemacht werden wenn nicht soll Batch an das Ende springen.

Kann mir da jemand helfen?

Und wo ist Dein Batchcode? Oder soll das Forum für lau für Dich das machen?

Gruss Penny.
Dominik50
Dominik50 18.09.2024 um 13:00:33 Uhr
Goto Top
denke nicht das Ihr einen stinknormalen Batchcode mit 10 copy Befehlen benötigt. Oder sehe ich das falsch?
Dann gibts natürlich gerne einen.
Bist auch der einzige den es hier stört.
Dominik50
Dominik50 18.09.2024 um 13:02:03 Uhr
Goto Top
Zitat von @TK1987:

Dann testest du hallt jeden Ordner nacheinander durch...
@echo off

If not exist "D:\Pdf\*.pdf" exit /b 1  
If not exist "D:\Dokumente\*.pdf" exit /b 1  
If not exist "D:\Wo\auch\immer\*.pdf" exit /b 1  

REM Hier der weitere code

vielen Dank für diese Lösung so funktionier es