superbios
Goto Top

Batch ausgabe in TextBox anzeigen lassen

Moin face-smile

Nunja... die überschrift sagt eigentlich schon alles....

Ich möchte von einer X belibigen batch die ausgaben in einer TextBox anzeigen lassen....


LG

Content-ID: 148505

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

Ausgedruckt am: 26.11.2024 um 07:11 Uhr

bankaifan
bankaifan 06.08.2010 um 13:17:09 Uhr
Goto Top
Moin Superbios.

Einfach den Snippet unten verwenden. Ist aber keine "schöne" box.

msg %username% Deine Ausgabe.

Das ist quasi eine Nachricht die sich der User selbst schickt. wenn du ne klassische Windowsmeldung willst nimm dieses VBScript und starte es von deiner Batch aus.

Set WshShell = WScript.CreateObject("WScript.Shell")   
WshShell.Popup "Deine Ausgabe",48,"Überschrift"  

Da haste die typische Box.

Wenn du aber ne Variable ausgeben willst musst du mal fragen wie man variablen von Batch in VB übergibt.

Grüße
bastla
bastla 06.08.2010 um 14:30:13 Uhr
Goto Top
Wenn du aber ne Variable ausgeben willst musst du mal fragen wie man variablen von Batch in VB übergibt.
... obwohl, so ein Geheimnis ist das dann ja auch wieder nicht face-wink:
@echo off & setlocal
set "Ausgabe=Der Ausgabetext"  
set "Titel=Der Fenstertitel"  

set M=%temp%\MBox.vbs
>%M% echo MsgBox WScript.Arguments(0),48,WScript.Arguments(1)

cscript //nologo %M% "%Ausgabe%" "%Titel%"  
cscript //nologo %M% "Geht auch ohne Variablen" "OV"  
cscript //nologo %M% "... und mehrmals" "3. Box"  
Anstelle des Wertes 48 dürfte es zB auch 64, 32 oder zur Not auch 16 sein ...

Grüße
bastla

P.S.: @bankaifan: Die "typische" Box wäre die "MsgBox" - die "PopUp"-Version wird vorrangig dazu verwendet, die Info nur für eine bestimmte Zeit anzuzeigen und dann das Script automatisch fortzusetzen ...
schmitzi
schmitzi 06.08.2010 um 15:24:40 Uhr
Goto Top
oder so:

zB TEST.VBS -Datei erstellen mit Inhalt:

msgbox "Hallo face-smile",0,"Wichtiger System-Hinweis:"

Diese VBS kannst Du dann mit "call test.vbs" aus Deiner batch aufrufen
Gruss
Ralf

[Edit Biber] Zum Vergleich mal die Zeile von oben in Codeformatierung.
msgbox "Hallo :-)",0,"Wichtiger System-Hinweis:"    
[/Edit]
bankaifan
bankaifan 06.08.2010 um 15:27:30 Uhr
Goto Top
Danke Bastla für die Aufklärung :D was bewirkt denn eigentlich das 64,48,32 usw.?

Und ja. VBS ist ned so mein Fachgebiet face-smile aber die Msgbox find ich hässlich xD
superbios
superbios 06.08.2010 um 15:28:06 Uhr
Goto Top
Hallo, und danke für die zahlreichen antworten...

Ok... ich habe mich (wieder ein mal) unverständlich ausgedrückt...

In VB ( NICHT vbs!!!) eine Textbox...
Und in der sollen dann ausgaben einer batch stehen...
z.b. wenn jetzt in der batch ein echo befehl mit Hi ist, dann soll in der TB hi stehen

etc.
bastla
bastla 06.08.2010 um 16:28:42 Uhr
Goto Top
Hallo bankaifan!
was bewirkt denn eigentlich das 64,48,32 usw.?
Einfach mal testen ... face-wink

Grüße
bastla
bastla
bastla 06.08.2010 um 16:36:22 Uhr
Goto Top
Hallo superbios!

Du könntest versuchen, mit Deiner ungenannten VB-Version das "Shell.Exec" von VBScript zu verwenden / "nachzubauen" - ein Beispiel für die Verwendung findest Du im zweiten Script dieses "Scripting Guy"-Artikels ...

[Edit] Unter VB2005Express zB funktioniert
Dim objShell = CreateObject("WScript.Shell")  
Dim objExecObject = objShell.Exec _
    ("D:\TestBatch.cmd")  
Do While Not objExecObject.StdOut.AtEndOfStream
    TextBox1.Text = objExecObject.StdOut.ReadAll()
Loop
[/Edit]
Grüße
bastla
superbios
superbios 06.08.2010 um 19:35:02 Uhr
Goto Top
Ich habe VirsualBasic 2010 Express.....
bastla
bastla 06.08.2010 um 21:18:20 Uhr
Goto Top
Hallo superbios!
Ich habe VirsualBasic 2010 Express.....
... und beim Testen welchen Erfolg gehabt?

Grüße
bastla
superbios
superbios 06.08.2010 um 21:21:33 Uhr
Goto Top
Nein, noch nicht probiert, ich installier mir gerade die Virsual Studio 2010 Ultimate Edition....
superbios
superbios 06.08.2010 um 22:42:54 Uhr
Goto Top
Ok.. Funktioniert perfekt face-smile

Mein einziges problem noch:

Das werden längere scripts, die in manchen phasen länger brauchen...

Und die Text box ( ich hab ne RichTextBox verwendet) Bleit "oben" d.h. man muss von hand runterscrollen...
bastla
bastla 06.08.2010 um 23:20:55 Uhr
Goto Top
Hallo superbios!

An das Ende des Textes solltest Du mit
RichTextBox1.SelectionStart = RichTextBox1.TextLength
kommen ...

Grüße
bastla
superbios
superbios 13.08.2010 um 21:59:48 Uhr
Goto Top
Moin bastla face-smile

Alles so weit ok face-smile

Nur... es funktionieren leider keine defrag scripts ö.ä.

Win 7 64 bit....


LG;
superbios
bastla
bastla 13.08.2010 um 22:03:33 Uhr
Goto Top
Hallo superbios!
Alles so weit ok face-smile
Freut mich face-smile

Nur... es funktionieren leider keine defrag scripts ö.ä.
Das dürfte allerdings ein ganz anderes Thema und damit einen neuen Thread wert sein ...

Grüße
bastla