myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Batch Datei fertigstellen (https://mygully.com/showthread.php?t=3329664)

Tommy Hilfaker 28.05.14 09:30

Batch Datei fertigstellen
 
Hallo Leutz!

Ich habe eine kleine Batch für unsere Praxen geschrieben, die automatisiert den Inhalt eines Wechseldatenträgers auf den Desktop packt, damit dieser per Email an uns versendet werden kann:

Zitat:

@echo off
ECHO Text Text
ECHO Text Text
ECHO Text Text
ECHO.
ECHO Text Text

pause

rar a archivname.rar E:\

pause
Klappt wunderbar! Unter "Text" hab ich eine Anleitung zum Vorgehen des anschließenden Versendens geschrieben. Das checken jetzt auch endlich die Damen der Generation 50+ :)

Mir geht es darum:

ich wollte mir IF [NOT] EXISTS noch Fehlermeldungen einbauen (Gerät nicht bereit, SD-Karte nicht eingeschoben etc.), bekomme es aber nicht gebacken. Lediglich beim doppelklick auf die Batch findet eine Überprüfung des Pfades statt (in diesem Fall, ob E:\SUIVI vorhanden ist) und Windows ploppt mit der Fehlermeldung auf das kein Datenträger eingelegt ist.
Ich würde aber gerne das ganze in der cmd-shell angzeigt bekommen und nicht extern.
Momentan sah das so aus:

Zitat:

@echo off
ECHO Text Text
ECHO Text Text
ECHO Text Text
ECHO.
ECHO Text Text

IF NOT EXIST E:\SUIVI GOTO ERROR
IF EXIST E:\SUIVI GOTO WEITER

:ERROR
ECHO Gerät nicht bereit oder Chip einlegen

:WEITER
echo Fortfahren

pause

rar a archivname.rar E:\

pause

Vorweg: Ich habe vorher noch nie selbst ne Batch geschrieben und mir die Commands aus ein paar Foren "zusammengeklaut". Wo liegt in der ltzt Batch der Fehler???

Danke im Voraus!

Erebos76 28.05.14 12:28

In Batch-Programmierung war ich nie der Hecht, aber eine Vermutung habe ich:

nach dem Sprung in :ERROR wird die Batch wieder zeilenweise abgearbeitet. Sie versucht also doch, die .rar zu entpacken.

Wenn Du das verhindern willst, musst Du noch einen Sprung zum Ende einfügen.

Also bspw. so

Code:

@echo off
ECHO Text Text
ECHO Text Text
ECHO Text Text
ECHO.
ECHO Text Text

IF NOT EXIST E:\SUIVI GOTO ERROR
IF EXIST E:\SUIVI GOTO WEITER

:ERROR
ECHO Gerät nicht bereit oder Chip einlegen
GOTO DAS_ENDE_NAHT

:WEITER
echo Fortfahren

pause

rar a archivname.rar E:\

:DAS_ENDE_NAHT

pause


Tommy Hilfaker 28.05.14 18:34

Ah, ok. Scheint mir plausibel. Werde ich mal am Freitag auf der Arbeit ausprobieren und Rückmeldung geben!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.