wema8110
Goto Top

Msgbox im Batchdatei ausführen

Hi everybody,
ich habe ein batchdatei, dass es für das Auschalten/Shutdown des Betriebssystem ist. Ich möchte aber ein msgbox als Hinweis z.B.: "Der PC wird jetzt heruntergefahren..." für den User erstellen, bevor der PC herunterfährt. Ich habe einiges ohne Erfolg versucht. Ich wollte es mit vbs machen, aber irgendwie bekomme ich die gleiche Fehlermeldung, das einzige und glaube das einfacshte wäre, es in dem Batdatei direkt zu machen. Ich würde mich über jede Hilfe freuen.

WEMA

Content-Key: 142749

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

Printed on: April 25, 2024 at 22:04 o'clock

Mitglied: 77559
77559 May 12, 2010 at 19:33:36 (UTC)
Goto Top
Hallo WEMA.

Wenn du mirt deinem Code eine Fehlermeldung bekommst, solltest du uns beides zeigen, damit wir Fehler aufspüren können.
Du kannst sowohl mit vbs eine msgbox anzigen als auch von Batch ein vbs anstossen.

Mit dem Tool WinMSG von Bill Stewart kannst du auch direkt von der Kommadozeile eine MsgBox anzeigen.

Gruß
LotPings
Member: regedit19
regedit19 May 12, 2010 at 19:57:21 (UTC)
Goto Top
Hallo,
vielleicht hilft dir das weiter

onclick = msgbox ("Computer wird heruntergefahren!",64,"Computer wird heruntergefahren!")
set objshell = createObject("Wscript.shell")
objshell.run "shutdown -s -t 0"


ggf. eine kleine Pause noch dazu einbauen mit:
wscript.sleep 989

mfg
regedit19
Member: regedit19
regedit19 May 12, 2010 at 20:00:36 (UTC)
Goto Top
und mit batch gehts so:

@echo off
echo> shutd.vbs onclick = msgbox ("Computer wird heruntergefahren",64,"Computer wird heruntergefahren")
ping localhost -n 2 > nul
cls
start shutd.vbs
ping localhost -n 2 > nul
cls
del shutd.vbs
shutdown -s -t 0
exit

unter*.bat speichern und sollte funktionieren!

mfg
regedit19
Member: filippg
filippg May 12, 2010 at 20:19:33 (UTC)
Goto Top
Hallo,

wie fährst du denn den PC herunter? shutdown.exe (gehört zu Windows, kein separates Programm) macht genau das: Ein Hinweisfenster bringen, dass der PC heruntergefahren wird (und je nach OS sogar noch ein sekundengenauer Countdown...)

Gruß

Filipp
Member: regedit19
regedit19 May 12, 2010 at 20:26:29 (UTC)
Goto Top
wenn du von .vbs redest here you see>>>

onclick = msgbox ("Computer wird heruntergefahren!",64,"Computer wird heruntergefahren!")
set objshell = createObject("Wscript.shell")
objshell.run "shutdown -s -t 0"<<<<

wird heruntergefahren<<

Und er möchte ja einen hinwei haben!
und keine fehlermeldung, dass der Computer wegen irgend einem Fehler heruntergefahren wird!


es gibt so viele Möglichkeiten, den Script so "hinzubasteln", dass der das tut, was von ihm verlangt wird,
nur wenn man jetzt nicht genau weiß, was einer möchte .bat; .vbs; *.* tut man sich recht schwer, ihm eine zugeschnittene Lösung zu präsentieren

mfg regedit19
Mitglied: 77559
77559 May 12, 2010 at 20:56:26 (UTC)
Goto Top
Zitat von @regedit19:
es gibt so viele Möglichkeiten, den Script so "hinzubasteln", dass der das tut, was von ihm verlangt wird,
nur wenn man jetzt nicht genau weiß, was einer möchte .bat; .vbs; *.* tut man sich recht schwer, ihm eine
zugeschnittene Lösung zu präsentieren

Das trifft es hundertprozentig, am Besten wartet man also auf ein Feedback vom OP,
bei deinem wohlmeinenden und richtigen öhm, Geschnatter besteht fast die Gefahr es zu übersehen face-wink

Gruß
LotPings
Member: wema8110
wema8110 May 13, 2010 at 15:21:46 (UTC)
Goto Top
Hi Leute,
vielen Dank für fie schnelle Rückmeldung, anbei ein Teil meiner Code, das ganze funktioniert wie es sein sollte, aber ich möchte das Msgbox als Hinweis bzw. Warnung für den Enduser, dass der PC in diesem Moment Datein kopiert und deswegen wird der Prozess "Herunterfahren" ein bisschen dauern. Was ich nicht weiss ist wo ich genau das Befehl für den MSgbox schreiben sollte, damit das ganze funktioniert wie geplannt. Ich bin neuling hier. Ich würde mich über eure HIlfe freuen. Danke!!

logoff
REM Copy Userdata
if exist "%homeshare%\ProfileFolder\" goto copydata
mkdir "%homeshare%\......."
mkdir "%homeshare%\.......\"
mkdir "%homeshare%\........\"
:copydata
%systemroot%\system32\robocopy.exe "%userprofile%\Desktop" ""%homeshare%\.........
%systemroot%\system32\robocopy.exe "%userprofile%\Favoriten" ""%homeshare%\.........
REM Export Printers
regedit /e %HOMESHARE%\........
login
REM Copy Userdata
%systemroot%\system32\robocopy.exe ""%homeshare%\............
%systemroot%\system32\robocopy.exe ""%homeshare%\............
REM Import Printers
regedit /i /s %HOMESHARE%\ProfileFolder\Printer\Networkprinter.txt HKEY_CURRENT_USER\Printers
Member: regedit19
regedit19 May 13, 2010 at 16:54:48 (UTC)
Goto Top
Hallo,
was möchtest du jetz tgenau, dass der Script Daten kopiert?
, könntest du das vielleicht etwas genauer formulieren!?

mfg
regedit19
Member: wema8110
wema8110 May 13, 2010 at 17:28:28 (UTC)
Goto Top
Hi,
der Batchdatei funktioniert richtig, aber was ich möchte ist durch der vbsdatei der Batchdatei ausführen lassen aber ich bekomme folgende Fehlermeldung, der Datei liegt auch richtig (wie in dem Path), ich verstehe nicht was ich falsch mache. DAnke nochmal

Windows Script Host
Skript: C:\Dokumente und Eisntellngen\...
Zeile: 4
Zeichen: 1
Fehler: Dsa System kann die angegebene Datei nicht finden
Code: 800700002
Quelle (null)
dim objshell
onclick = msgbox ("Computer wird heruntergefahren!",64,"Computer wird heruntergefahren!")
set objshell = Wscript.createObject("Wscript.shell")
objshell.run "C:\Dokumente und Einstellungen\......\Desktop\test.bat"
Member: regedit19
regedit19 May 13, 2010 at 17:34:16 (UTC)
Goto Top
Hallo,


onclick = msgbox ("Computer wird heruntergefahren!",64,"Computer wird heruntergefahren!")
set objshell = CreateObject("Wscript.shell")
objshell.run "start C:\Dokumenet und Einstelleungen\........\Desktop\test.bat"


probiers mit dem!
mfg
regedit19
Member: wema8110
wema8110 May 13, 2010 at 17:44:45 (UTC)
Goto Top
Hi Regedit19,
danke fr deine Antwort, aber ich bekomme die gleiche Fehlermeldung, der Fehler tritt genau bei der Zeile "set objshell = CreateObject("Wscript.shell")" Zeiche 1. Es scheint ein Problem mit "set" zu sein
Member: regedit19
regedit19 May 13, 2010 at 17:48:01 (UTC)
Goto Top
Blöde Frage, aber hast du noch etwas anderes im Script drinnenstehen, oder ist das alles??


mfg
regedit19
Member: wema8110
wema8110 May 13, 2010 at 17:53:26 (UTC)
Goto Top
nein, es ist alles was ich da habe, wie ich das geschrieben habe . Ich vestehe das nicht.
Member: regedit19
regedit19 May 13, 2010 at 17:58:57 (UTC)
Goto Top
schreibe statt deinem Befehl start nach objshell.run "" in die Anführungszeichen cmd hinein, und schau, ob er wenigstens die Eingabeaufforderung öffnet.

ansonsten kopiere den obengeschreibenen Text einfach hinein, und schreibe diesen nicht selber (gefahr von tippfehlern)!

hast es dann eh unter *.vbs gespeichert....
weil ich mache auch manchmal diesen Fehler

mfg
regedit19
Member: regedit19
regedit19 May 13, 2010 at 18:06:02 (UTC)
Goto Top
mit der Fehlermeldung beschrieben deinerseits, weis ich im Moment keine Antwort drauf, ich kann mir nur gut vorstellen, dass er die Datei die er ausführen soll nicht finden kann!
Member: wema8110
wema8110 May 13, 2010 at 18:45:17 (UTC)
Goto Top
ich verstehe das auch nicht. mit dem "cmd" funktioniert das ohne Problem, dann habe ich den Batdatei in einem Ordner direkt bei dem "C" kopiert und es hat funktioniert aber, ich bekomme ne andere Meldung: "DLL Initinialisierung ist fehlgeschlagen"......ich cucke weiter ob ich was machen kann. Danke!
Member: regedit19
regedit19 May 13, 2010 at 19:05:41 (UTC)
Goto Top
gib der *.bat Datei den Namen command.bat
Kopiere die Datei command.bat in "C:\Windows\" und schreibe in die Anführungszeichen im Script:
start C:\Windows\command.bat

und probiers nochmal!

mfg
regedit19
Member: wema8110
wema8110 May 13, 2010 at 19:59:22 (UTC)
Goto Top
Ich hab' es probiert aber ich bekomme die gleiche Meldung "dll initialisierung fehlgeschlagen". Vielen Dank für deine Hilfe
Member: regedit19
regedit19 May 13, 2010 at 20:16:03 (UTC)
Goto Top
ich glaub dass die Meldung vom Herunterfahren des Systems kommt!
gib den Befehl einmal so in die eingabeaufforderung ien, und schau was passiert!
start> ausführen> cmd> start C:\Windows\command.bat

mfg
regedit19
Member: wema8110
wema8110 May 13, 2010 at 20:54:16 (UTC)
Goto Top
Ich bekomme die geiche Meldung: dll initialisierung fehlgeschlagen, Die ANwendung kann nicht initialisiert werden, da die Arbeitsstation gerade heruntegefahren wird"
Member: regedit19
regedit19 May 14, 2010 at 19:19:35 (UTC)
Goto Top
Ich hab im Moment auch keine Idee, woran das liegen könnte, denn ich habs bei mir auch probiert, und es funktioniert eigendlich wunderbar!

Ich würde dir empfehlen, dass du das Ganze noch auf einem anderen Computer probierst, und schaust obs dort funktioniert!

mfg
regedit19
Member: bastla
bastla May 14, 2010 at 19:48:17 (UTC)
Goto Top
Hallo Leute!

Wenn die Batchdatei schon funktioniert, warum dann nicht die MsgBox aus dem Batch aufrufen (war ja oben ohnehin schon erwähnt)? Das könnte etwa so aussehen:
set S=%temp%\ShowMessage.vbs
>%S% echo MsgBox "Computer wird heruntergefahren!",64,"Computer wird heruntergefahren!"  
start %S%
logoff
REM Copy Userdata
if exist "%homeshare%\ProfileFolder\" goto copydata  
mkdir "%homeshare%\......."  
mkdir "%homeshare%\.......\"  
mkdir "%homeshare%\........\"  
:copydata
%systemroot%\system32\robocopy.exe "%userprofile%\Desktop" ""%homeshare%\.........  
%systemroot%\system32\robocopy.exe "%userprofile%\Favoriten" ""%homeshare%\.........  
REM Export Printers
regedit /e %HOMESHARE%\........
login
REM Copy Userdata
%systemroot%\system32\robocopy.exe ""%homeshare%\............  
%systemroot%\system32\robocopy.exe ""%homeshare%\............  
REM Import Printers
regedit /i /s %HOMESHARE%\ProfileFolder\Printer\Networkprinter.txt HKEY_CURRENT_USER\Printers
Grüße
bastla
Member: NewNoob
NewNoob Feb 07, 2015 at 14:37:48 (UTC)
Goto Top
wieso so svhwer .. shutdown /t (zeitlimit) /c "kommentar" /p um sofort herunter fahren