Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch MassageBox variieren

Frage Entwicklung Batch & Shell

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

04.02.2012, aktualisiert 18.10.2012, 5415 Aufrufe, 11 Kommentare

Guten Abend,
hier fand ich schon tolle Anregungen zu Fragen anderer User. Vielleicht geht es dem einen anderen bei meiner Frage ähnlich...

Es um MessageBoxen, die aus einem Batch heraus starten. Hier mal ein Beispiel:

01.
  
02.
@ECHO OFF & SETLOCAL 
03.
ECHO x = MsgBox("Hier ein Beipsieltext" ^& vbCrLf ^& _>>%temp%\msgbox.vbs" 
04.
ECHO    "Weiterer Beispieltext, 2. Zeile.",  _>>"%temp%\msgbox.vbs" 
05.
ECHO    1 + 16, _>>"%temp%\msgbox.vbs" 
06.
ECHO    "Überschrift")>>"%temp%\msgbox.vbs" 
07.
ECHO WScript.Quit(x)>>"%temp%\msgbox.vbs" 
08.
:: vbs aufrufen: 
09.
cls 
10.
CALL "%temp%\msgbox.vbs" 
11.
:: Errorlevel für spätere Verarbeitung in Variable sichern: 
12.
SET /A "Returncode=%errorlevel%" 
13.
:: vbs löschen: 
14.
DEL "%temp%\msgbox.vbs" 
15.
:: mach irgendwas mit der Variable: 
16.
IF %Returncode%==1 GOTO was auch immer 
17.
IF %Returncode%==3 GOTO was auch immer 
18.
IF %Returncode%==7 GOTO was auch immer 
19.
 
Jetzt habe ich folgende Fragen:
1. Wie kann ich eine MessageBox erzeugen, die kein Button enthält und nach definierter Zeit verschwindet?
2. Wie kann ich die MessageBox als Splash-Screen Ersatz verwenden? (Das wäre wie Frage 1, aber vielleicht noch mit eigenem Icon)
3. Wie kann ich die MessageBox mit einer Eingabemöglichkeit versehen? (Wobei die Eingabe dann weiterverarbeitet wird im Batch)
4. Wie kann ich mithilfe der MessageBox eine Datei auswählen? (Zur weiteren Verwendung im Batch als Variable)

Über die eine oder andere Antwort würde ich mich freuen! Vielleicht gibt es auch Erfahrungen mit ähnlichen Codeschnipseln, die besser funktionieren?

Viele Grüße
OKIDOKI
Mitglied: Arano
04.02.2012 um 21:47 Uhr
Hi,

ist dir eigentlich bewusst, das es sich dabei um Visual Basic handelt !?
Und dann denke ich, auf Grund deiner Fragen, das es vermutlich das beste ist dich auf die Funktions-Referenz im MSDN hinzuweisen:
MSDN - MsgBox-Funktion (Visual Basic)
Manchmal ist es besser, die Möglichkeiten zu erklären als all das aufzulisten was nicht möglich ist


~Arano
Bitte warten ..
Mitglied: OKIDOKI
04.02.2012 um 21:55 Uhr
Hi,

da kann ich dir nicht wiedersprechen und danke dir!!!
Allerdigns habe ich etlichen Foren schon gelesen, dass die Leute (und ich eben auch) aus batch heraus etwas starten wollen.
Eine Sache habe ich schon gefunden. Hier schließt sich das Fenster automatisch nach 7 Sekunden! Das baue ich, wie auch schon oben, einfach in das Batch ein:


01.
  
02.
Dim wshShell, btn 
03.
Set wshShell = WScript.CreateObject("WScript.Shell") 
04.
 
05.
' Call the Popup method with a 7 second timeout. 
06.
btn = WshShell.Popup("Do you feel alright?", 7, "Question:", &H4 + &H20) 
07.
 
08.
Select Case btn 
09.
    ' Yes button pressed. 
10.
    case 6 
11.
        WScript.Echo "Glad to hear you feel alright." 
12.
    ' No button pressed. 
13.
    case 7 
14.
        WScript.Echo "Hope you're feeling better soon." 
15.
    ' Timed out. 
16.
    case -1 
17.
        WScript.Echo "Is there anybody out there?" 
18.
End Select
http://msdn.microsoft.com/de-de/library/139z2azd%28v=vs.80%29.aspx

Vielleicht ist es dann doch das falsche Forum...
Ich suche halt noch nach einer Möglichkeit eines SplashScreens, den ich aus Batch starten kann - ich habe mich schon dumm und dämlich gesucht ...
Außerdem halt die Frage, ob es eine Meldung ohne Schaltfläche gibt, die, s.o. ja nach 7 Sekunden verschwindet!

Ansonsten, schade, danke für deinen Hinweis.

OKIDOKI
Bitte warten ..
Mitglied: bastla
04.02.2012 um 21:59 Uhr
Hallo OKIDOKI!

Ergänzend zu Aranos Hinweis: Neben der "MsgBox" kennt VBS auch ein "PopUp" [Edit] hast Du schon selbst gefunden [/Edit] - Verwendung für eine auf 5 Sekunden begrenzte Anzeige etwa:
01.
@ECHO OFF & SETLOCAL 
02.
 >%temp%\msgbox.vbs ECHO x = WScript.CreateObject("WScript.Shell").PopUp("Hier ein Beipsieltext" ^& vbCrLf ^& _ 
03.
>>%temp%\msgbox.vbs ECHO    "Weiterer Beispieltext, 2. Zeile.",  _ 
04.
>>%temp%\msgbox.vbs ECHO    5, _ 
05.
>>%temp%\msgbox.vbs ECHO    "Überschrift", _ 
06.
>>%temp%\msgbox.vbs ECHO    0 + 64) 
07.
>>%temp%\msgbox.vbs ECHO WScript.Quit(x) 
08.
:: vbs aufrufen: 
09.
cls 
10.
%temp%\msgbox.vbs 
11.
:: Errorlevel für spätere Verarbeitung in Variable sichern: 
12.
SET /A "Returncode=%errorlevel%" 
13.
:: vbs löschen: 
14.
DEL "%temp%\msgbox.vbs" 
15.
:: mach irgendwas mit der Variable: 
16.
IF %Returncode%==-1 GOTO :Zeitablauf 
17.
IF %Returncode%==1 GOTO :EnterOderGeschlossen
und eine "InputBox", deren Ergebnis Du etwa so erhältst:
01.
@ECHO OFF & SETLOCAL 
02.
 >%temp%\msgbox.vbs ECHO WScript.Echo InputBox("Hier ein Beipsieltext" ^& vbCrLf ^& _ 
03.
>>%temp%\msgbox.vbs ECHO    "Weiterer Beispieltext, 2. Zeile.",  _ 
04.
>>%temp%\msgbox.vbs ECHO    "Überschrift", _ 
05.
>>%temp%\msgbox.vbs ECHO    "Defaultwert") 
06.
cls 
07.
set "Eingabe=" 
08.
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Eingabe=%%i" 
09.
DEL "%temp%\msgbox.vbs" 
10.
if defined Eingabe echo Eingabe: %Eingabe%
Hinsichtlich "Splash-Screen": Grundsätzlich nervt sowas (aber nicht halb so viel, wie die Frage, ob ich das Super-Duper-Überdrüber-Programm denn wirklich schon beenden will) ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
04.02.2012 um 22:04 Uhr
Hi,

du hast mir schon mal viel geholfen damit, bastal!!!

Vielleicht noch ne Idee fürn Splash Screen?

OKIDOKI
Bitte warten ..
Mitglied: bastla
04.02.2012 um 22:10 Uhr
Hallo OKIDOKI!
Vielleicht noch ne Idee fürn Splash Screen?
Wenn es unbedingt sein muss : IrfanView oder auch XnView kann aus einem Bild eine "exe" erzeugen, die Du dann zB (nachdem sie per "start" aufgerufen wurde) über "taskkill" wieder beenden könntest (ev kann auch die Slideshow mit Zeitsteuerung ohne Wiederholung gestartet werden und sich daher nach Ablauf der eingestellten Zeit selbst beenden [Edit] eben mit "XnView" getestet - geht etwa so: Erstellen - Dia-Show - keine "Schleife" - Weitere Optionen ("Ohne Titelleiste und Fensterrahmen", keinen "Rahmen" verwenden, keine "Informationen anzeigen") - EXE/SCR erstellen [/Edit]) ...

Grüße
bastla
Bitte warten ..
Mitglied: DocuSnap-Dude
04.02.2012 um 22:31 Uhr
Ähm...eine MASSAGEBOX in der IT Kleiner Kalauer denn klar meintest du die Messagebox
Bitte warten ..
Mitglied: rubberman
04.02.2012 um 23:07 Uhr
Hallo OKIDOKI.

Ich lasse mal die Sinnhaftigkeit, soetwas in einen Batch einzubinden, außen vor. (Ein- und Ausgaben könntest du genauso im Batchfenster vornehmen, nicht wahr.)
01.
@set @x=0 /* &rem Diese Zeile ist für beide Sprachen valider Code 
02.
 
03.
@echo off 
04.
set lf=^ 
05.
 
06.
 
07.
set ^"\n=^^^%lf%%lf%^%lf%%lf%^^"&rem Wir basteln ein LineFeed 
08.
 
09.
:: Popup 
10.
set JS_Text=Hallo%\n%Welt! 
11.
set JS_Title=Das ist ein "Test" 
12.
set /a JS_Style=1 
13.
set /a JS_Timeout=5 
14.
cscript //nologo //e:jscript "%~f0" out 
15.
echo Returncode: %errorlevel% 
16.
 
17.
echo --------------------------------------- 
18.
 
19.
:: Input 
20.
set JS_Text=Wie heisst du?%\n%(Vorname genuegt) 
21.
set JS_Title=Das ist ein "Test" 
22.
for /f "delims=" %%i in ('cscript //nologo //e:jscript "%~f0" in') do set "str=%%i" 
23.
echo(%str% 
24.
 
25.
pause 
26.
 
27.
goto :eof  
28.
:::::::::::::::::::::::::::::::::::::::::::::::::::: 
29.
 
30.
hier startet das JS */  
31.
var oWSH = new ActiveXObject("WScript.Shell"); 
32.
var text = oWSH.ExpandEnvironmentStrings("%JS_Text%"); 
33.
var title = oWSH.ExpandEnvironmentStrings("%JS_Title%"); 
34.
var style = oWSH.ExpandEnvironmentStrings("%JS_Style%"); 
35.
var timeout = oWSH.ExpandEnvironmentStrings("%JS_Timeout%"); 
36.
switch(WScript.Arguments(0)) 
37.
38.
case "out": 
39.
  WScript.Quit(oWSH.Popup(text, timeout, title, style)); 
40.
  break; 
41.
case "in": 
42.
  var oSC = new ActiveXObject("ScriptControl"); 
43.
  oSC.Language="VBScript"; 
44.
  var str = 'InputBox("' + (text.replace(/"/g,'"&Chr(34)&"')).replace(/\n/g, '"&Chr(10)&"') + '", "' + title.replace(/"/g,'"&Chr(34)&"') + '")'; 
45.
  WScript.Echo(oSC.eval(str)); 
46.
  WScript.Quit(); 
47.
  break; 
48.
default: 
49.
  WScript.Quit(); 
50.
}
Grüße
rubberman
Bitte warten ..
Mitglied: OKIDOKI
04.02.2012 um 23:14 Uhr
Hallo Bastla,

super! Mann, hab ich danach lange gesucht, dabei ist die Lösung echt super! Danke.

PS: Hast du noch eine Idee, wie man mit vbs einen Ordner (Datei) auswählen kann?
... denn dann könnten wir diesen Thread schließen

LG OKIDOKI
Bitte warten ..
Mitglied: bastla
04.02.2012, aktualisiert 18.10.2012
Hallo OKIDOKI!

Solltest Du eigentlich hier schon gefunden haben - etwa in diesem Thread oder da ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
04.02.2012 um 23:29 Uhr
Ihr seid echt unglaublich!!!

Jetzt muss ich nur lernen schneller zu denken als ihr antwortet ...

Ihr habt mir die Nach gerettet, dankeschön!

OKIDOKI
Bitte warten ..
Mitglied: Biber
05.02.2012 um 01:43 Uhr
[OT] @frankoehli

Das professionelle Erscheinungsbild der durch Splashscreens aufgebrezelten Massageboxen wird abgerundet durch die Info
ECHO x = MsgBox("Hier ein Beipsieltext" ^& vbCrLf ^& _>>%temp%\msgbox.vbs"

@OKIDOKI

Bei allem Respekt vor den hier gezeigten handwerklichen Leistungen, mit denen deine Anforderungen umgesetzt wurden..

Du solltest dir dennoch bewusst sein, dass dieser Thread eher in die Rubrik "Wie kann ich Spiegeleier im Toaster zubereiten?" gehört.

Ein Batch dient dazu, wiederkehrende Abläufe zu automatisieren - möglichst ohne Benutzereingriff und im Idealfall unbemerkt im Hintergrund.

Ist eine winzig kleine Nische - aber der Bedarf für ein derartiges Arbeite-unauffällig-im-Hintergrund-Werkzeug ist nach wie vor vorhanden -unabhängig davon, wie viele neue animierte neue Appz und Blasen mit jeder neuen Windows-Version auf der GUI dazukommen.
Dorthin - auf das graphical user interface gehört alles, was die Interaktion mit dem Benutzer erfordert oder dessen Aufmerksamkeit auf sich ziehen sollte.

Und dann aber auch bitte mit dem dort angebrachten Werkzeug erzeugt... also nicht mehr unter einer CMD-Instanz laufend

Ich weiss - Nägel lassen sich mit der Schlagbohrmaschine in die Wand treiben und Schrauben auch mit dem Hammer...

Grundsätzlich finde ich aber schon, dass wir hier im Forum auch die Wahl des passenden Werkzeugs vermitteln sollten

Grüße
Biber
[/OT]
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel SVERWEIS Ausgabezeilen variieren.
gelöst Frage von MasterBlaster88Microsoft Office2 Kommentare

Hi Leute, ich muss ehrlich sagen, ich bin kein Excel Crack, auch der Titel ist nicht sooo aussagekräftig. Zu ...

Batch & Shell
Batch: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell
Wie ändert eine batch eine bestimmte zeile in einer anderen batch
Frage von J4YK0BBatch & Shell3 Kommentare

Wie schreibt eine batch eine andere batch um, aber nur eine SPEZIELLE zeile? Das System ist wiefolgt. Man gibt ...

Batch & Shell
Womit kann ich in einer Batch viertelstündlich eine andere Batch aufrufen?
Frage von red-eyeBatch & Shell16 Kommentare

Hallo allerseits! Seit drei Stunden versuche ich selbst einen geeigneten Befehl zu finden, bzw. hier im Forum eine Antwort ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 3 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 5 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...