lehrling24
Goto Top

Meldung bei Batch gross darstellen

Hallo Leude,

habe schon in einem anderen Post angefangen bzgl. einer Mapping-Batch. da es ein etwas anderes Tehma ist ein neuer Post:

Wenn ich eine Meldung gross auf dem Desktop erscheinen lassen will, während die Batch gerade ausgeführt wird, was gerade passiert, wie mach ich das?

Also die Meldung an sich in die Batch zu schreiben ist ja kein Problem, die erscheint in dem Eingabefenster und ist natürlich recht klein.

Wie funktioniert das, wenn ich in der Mitte des Bildschirm ca. eine grau hinterlegte Meldung aufscheinen lassen will in einer grösseren Schriftart, wie funktioniert das?

Zur Info OS ist noch Windows XP.

Freu mich auf Eure Tips.

Greetz
Der Lehrling

Content-Key: 207902

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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: Jochem
Jochem 12.06.2013 um 15:09:23 Uhr
Goto Top
Moin,

schau mal hier: http://www.jollystipps.de/tipps/dosfarbe.html

Gruß J face-smile chem
Mitglied: Penny.Cilin
Penny.Cilin 12.06.2013 um 15:34:02 Uhr
Goto Top
Hallo,

der Link ist aber für Windows 95/98. Unter Windows XP fird es nicht mehr funktionieren. Da die Eingabeaufforderung KEINE DOS-Dox ist. Sondern eine Commandleineshell. Sieht zwar aus wie eine DOS-Box verhält sich aber etwas anders.


Gruss Penny.
Mitglied: Jochem
Jochem 12.06.2013 um 15:46:01 Uhr
Goto Top
Moin,

Ok, habs gerade probiert, stimmt. Funktioniert nicht wirklich. Aber vielleicht hilft ja Rechtsklick auf Eingabeauforderung (das "DOS-Fenster") und dann über "Eigenschaften" die gewünschten Einstellungen vornehmen. (Unter XP getestet).

Gruß J face-smile chem
Mitglied: rubberman
rubberman 12.06.2013 aktualisiert um 21:49:46 Uhr
Goto Top
Hallo lehrling24,

das Consolefenster in Verbindung mit irgendwelchen Popups ist immer etwas befremdlich und eher Spielerei als wirklich sinnvoll. Das Interface bei Batch ist nun mal die Console und reicht für gewöhnlich.

Mit Batch pur ist da sowieso nix zu machen. Du kannst mit einem temporären VBScript und der MsgBox Funktion arbeiten. Aber das erfüllt ja immer noch nicht deine Vorstellungen von einer "großen Darstellung mittig auf dem Desktop", vermulich auch noch schön auffällig in Farbe und bunt face-wink
So etwas kannst du nur selbst bauen. Bspw. könntest du HTA einbinden. Funktioniert etwa so:
*.bat
@echo off &setlocal

:: diese Variablen werden im HTA Code expandiert und verwendet
set /a "msg_width = 500, msg_height = 200"  
set "msg_html=ACHTUNG<br>Gaaanz wichtige Meldung!"  

set "msg=%temp%\tmp.hta"  
:: alle Zeilen beginnend mit min. 6 Spaces werden in die HTA Datei umgeleitet
>"%msg%" (type "%~f0"|findstr /bc:"      ")  
:: HTA aufrufen
mshta "%msg%"  
:: HTA löschen
del "%msg%"  

echo Meldung wurde beendet.
pause
goto :eof
:: End Of Batch

      <html>
        <head>
          <title>Message</title>
          <hta:application border="thin" caption="no" contextmenu="no" innerborder="no" navigable="no" scroll="no" selection="no" showintaskbar="no" singleinstance="yes" sysmenu="no">  
          <style type="text/css">  
            body  {margin:10px 10px 10px 10px; text-align:center; background-color:#ee3333;}
            div   {padding:20px 20px 20px 20px; background-color:#eeeeee; font:bold 32px arial; text-align:center;}
            input {margin:5px 5px 5px 5px; background-color:888888; font:bold 16px arial; text-align:center; height:30px; width:50px;}
          </style>
          <script type="text/javascript">  
            var oWSH=new ActiveXObject("WScript.Shell");  
            var w=parseInt(oWSH.ExpandEnvironmentStrings("%msg_width%"));  
            var h=parseInt(oWSH.ExpandEnvironmentStrings("%msg_height%"));  
            var s=oWSH.ExpandEnvironmentStrings("%msg_html%");  
            window.resizeTo(w, h);
            window.moveTo(screen.width/2-w/2, screen.height/2-h/2);
            function start() {
              text.style.width = w - 20;
              text.style.height = h - 50;
              text.innerHTML = s;
            }
            function quit() {
              window.close();
            }
            function enter() {
              if (window.event.keyCode==13) quit();
            }
          </script>
        </head>
        <body onload="start()" onkeypress="enter()">  
          <div id="text"></div>  
          <input type="button" value="OK" onclick="quit()">  
        </body>
      </html>

Grüße
rubberman