Hallo Freunde,
ich bin neu hier und auch ein wahrer Newbie in Sachen DOS und Batch. Ich habe folgendes mit meiner Batch vor:
Ich möchte gerne bevor ich ein Programm (QGIS) starte, die lokalen Projektdateien aktualisieren. Die aktuellen Dateien liegen in einem Netzwerkpfad. Wenn das Netzwerk nicht verfügbar ist, soll eine MsgBox Abfrage Ja/Nein erscheinen. Bei Ja soll das Programm mit den alten Daten starten und bei Nein soll nichts passieren.
Folgendes habe ich schon (das ist erst mal nur ein Test mit anderer Directory und Dateien):
....
@Echo off
cd Unterordner
Copy "\\>>netzwerkpfad<<" willi.txt /Y
if ERRORLEVEL 1
(
@Echo off
echo wscript.quit MsgBox ("Die Dateien konnten nicht aktualisiert werden. Evtl. sind sie Offline. Möchten Sie QGIS dennoch öffnen?", vbYesNo, "Fehler bei der Aktualisierung") > %temp%\yesno.vbs
wscript //nologo %temp%\yesno.vbs
set value=%errorlevel%
del %temp%\yesno.vbs
if "%value%"=="6" goto Ja
if "%value%"=="7" goto end
)
cd ..
cd Unterordner2
Copy "\\>>netzwerkpfad<<" willi2.txt /Y
if ERRORLEVEL 1
(
@Echo off
echo wscript.quit MsgBox ("Es wurde nur die erste Datei aktualisiert. Möchten Sie QGIS dennoch öffnen?", vbYesNo, "Fehler bei der Aktualisierung") > %temp%\yesno.vbs
wscript //nologo %temp%\yesno.vbs
set value=%errorlevel%
del %temp%\yesno.vbs
if "%value%"=="6" goto Ja
if "%value%"=="7" goto end
)
:Ja
@Echo off
echo msgbox ("Es hat alles geklappt.",vbInformation , "Juhuu!") > %temp%\msg.vbs
%Temp%\msg.vbs
del %temp%\msg.vbs
:end
.....
Die erste Datei aktualisiert er, die zweite jedoch nicht. Es wird aber auch kein Fehler oder MsgBox angezeigt. Es geht nur kurz das DOS-Fenster auf und wieder zu. Versuche mit "pause" herauszufinden wo sich das Problem befindet, brachten nichts.
Ich weiß leider mittlerweile nicht mehr weiter und auch googlen hilft mir nicht. Findet jemand von euch meinen Fehler?
Danke euch
Gruß
Achso ich muss dazu sagen, dass die Batch sich im Ordner befindet, in dem in Unterordnern die zu aktualisierenden Dateien liegen.
Danke noch mal!
ich bin neu hier und auch ein wahrer Newbie in Sachen DOS und Batch. Ich habe folgendes mit meiner Batch vor:
Ich möchte gerne bevor ich ein Programm (QGIS) starte, die lokalen Projektdateien aktualisieren. Die aktuellen Dateien liegen in einem Netzwerkpfad. Wenn das Netzwerk nicht verfügbar ist, soll eine MsgBox Abfrage Ja/Nein erscheinen. Bei Ja soll das Programm mit den alten Daten starten und bei Nein soll nichts passieren.
Folgendes habe ich schon (das ist erst mal nur ein Test mit anderer Directory und Dateien):
....
@Echo off
cd Unterordner
Copy "\\>>netzwerkpfad<<" willi.txt /Y
if ERRORLEVEL 1
(
@Echo off
echo wscript.quit MsgBox ("Die Dateien konnten nicht aktualisiert werden. Evtl. sind sie Offline. Möchten Sie QGIS dennoch öffnen?", vbYesNo, "Fehler bei der Aktualisierung") > %temp%\yesno.vbs
wscript //nologo %temp%\yesno.vbs
set value=%errorlevel%
del %temp%\yesno.vbs
if "%value%"=="6" goto Ja
if "%value%"=="7" goto end
)
cd ..
cd Unterordner2
Copy "\\>>netzwerkpfad<<" willi2.txt /Y
if ERRORLEVEL 1
(
@Echo off
echo wscript.quit MsgBox ("Es wurde nur die erste Datei aktualisiert. Möchten Sie QGIS dennoch öffnen?", vbYesNo, "Fehler bei der Aktualisierung") > %temp%\yesno.vbs
wscript //nologo %temp%\yesno.vbs
set value=%errorlevel%
del %temp%\yesno.vbs
if "%value%"=="6" goto Ja
if "%value%"=="7" goto end
)
:Ja
@Echo off
echo msgbox ("Es hat alles geklappt.",vbInformation , "Juhuu!") > %temp%\msg.vbs
%Temp%\msg.vbs
del %temp%\msg.vbs
:end
.....
Die erste Datei aktualisiert er, die zweite jedoch nicht. Es wird aber auch kein Fehler oder MsgBox angezeigt. Es geht nur kurz das DOS-Fenster auf und wieder zu. Versuche mit "pause" herauszufinden wo sich das Problem befindet, brachten nichts.
Ich weiß leider mittlerweile nicht mehr weiter und auch googlen hilft mir nicht. Findet jemand von euch meinen Fehler?
Danke euch
Gruß
Ergänzung ()
Achso ich muss dazu sagen, dass die Batch sich im Ordner befindet, in dem in Unterordnern die zu aktualisierenden Dateien liegen.
Danke noch mal!