# cmd.exe auslesen



## Respeckt (28. Februar 2009)

Hi,

ich weiß das dass hier schon 100x diskutiert wurde aber ich hab ein problem!

Ziel:
Ich führe die mkisofs.exe per batch aus so sieht der befehl aus
"mkisofs.exe -o Ultrastar_DVD_edition.iso -joliet -r data"
Dann wir in dem aufgepoppten fenster angegeben wieviel prozent bereits erledigt wurden.. (Foto im anhang wie die dos console ausschaut)
Diese ausgabe will ich irgendwie in VB einbinden! Als ausgabe in VB sollte dann ein balken der den fortschritt (zb. wie beim kopieren in windwos oder in zahlen) stehen!!

Problem:
Ich schaffe nicht die ausgaben in eine datei umzuleiten 
mkisofs.exe -o Ultrastar_DVD_edition.iso -joliet -r data >> test.txt 
funktioniert auch nicht "batchname.bat >> test.txt" weiß nich warum..

Kann mir vielleicht jemand weiterhelfen?

ps. die mkisofs.exe hab ich auch angehängt! da könnt ihr testen! Einfach einen ordner "data" erstellen in dein ein bisschen was reinpacken dann macht das ding ein iso draus!!

mfg
georg


----------



## deepthroat (1. März 2009)

Hi.





Respeckt hat gesagt.:


> Diese ausgabe will ich irgendwie in VB einbinden! Als ausgabe in VB sollte dann ein balken der den fortschritt (zb. wie beim kopieren in windwos oder in zahlen) stehen!!
> 
> Problem:
> Ich schaffe nicht die ausgaben in eine datei umzuleiten
> ...


Weil du damit die Standardausgabe umleitest und mkisofs die Meldungen auf der Standardfehlerausgabe ausgibt.

```
mkisofs ... 2>> status.log
```
Du mußt allerdings nicht den Umweg über die Datei gehen. Du könntest die Exec Methode des WshShell Objektes verwenden und direkt auf die StdOut/StdErr Ausgaben zugreifen. (http://msdn.microsoft.com/en-us/library/ateytk4a(VS.85).aspx)

Gruß


----------



## Respeckt (1. März 2009)

Hallo,

danke für den tipp!

Könntest du mir das vielleicht noch bitte an einem code beispiel erklären! Das was auf der Microsoft homepage steht gibt mir nicht genug aufschluss!

Das wäre echt super von dir!

mfg
georg


----------



## deepthroat (1. März 2009)

Hi.

Beispiele dazu gibt's doch im Internet genug 

http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_pkoy.mspx?mfr=true

Gruß


----------



## Respeckt (5. April 2009)

Hallo,

ich versuche schon seit wochen den Script hinzubringen, aber es funktioniert nicht!

Kannst du mir vielleicht einen kleien Lösungsansatz geben? Ich werder aus der MS Scripting Guide Database nich schlau!

mfg
Georg


----------



## deepthroat (5. April 2009)

Respeckt hat gesagt.:


> ich versuche schon seit wochen den Script hinzubringen, aber es funktioniert nicht!


Was heißt "es funktioniert nicht"?! 


Respeckt hat gesagt.:


> Kannst du mir vielleicht einen kleien Lösungsansatz geben?


Hab ich doch schon. Was brauchst du denn noch? Listing 3.16 auf der verlinkten Seite ist doch schon ein Minimalbeispiel was du nur noch für mkisofs abwandeln mußt...

Zeig deinen Code.

Gruß


----------



## Respeckt (6. April 2009)

Wenn ich den beispielcode von 3.16 benutze dann kommt immer die fehlermeldung...

bin bis jetzt noch nich darüber hinausgekommen diesen Fehler irgendwie zu beseitigen.. arbeit mi vb6! Habe irgendwo gelesen das, dass mit VB6 nicht funktioniert! Habe aber noch keinen anderen Lösungsansatz gefunden. 

Möchte das problem mit bordmittel lösen, weil ich das Programm dann gerne weitergeben will, ohne das jmd. erst noch was installieren muss!


mfg
georg


----------



## deepthroat (6. April 2009)

Respeckt hat gesagt.:


> Wenn ich den beispielcode von 3.16 benutze dann kommt immer die fehlermeldung...
> 
> bin bis jetzt noch nich darüber hinausgekommen diesen Fehler irgendwie zu beseitigen.. arbeit mi vb6!


Eine Methode in VB6 wäre so:

```
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
```



> Habe irgendwo gelesen das, dass mit VB6 nicht funktioniert! Habe aber noch keinen anderen Lösungsansatz gefunden.
> 
> Möchte das problem mit bordmittel lösen, weil ich das Programm dann gerne weitergeben will, ohne das jmd. erst noch was installieren muss!


Mit VB6 muß auf dem Zielsystem die VB6 Runtime Bibliotheken installiert sein, sonst kann dein Programm nicht ausgeführt werden.

Wenn du ein grafisches Programm erstellen willst und keine Abhängigkeiten zulassen willst, dann müßtest du dein Programm in C/C++ schreiben.

Aber so problematisch ist die Installation der VB6 Runtime nun auch wieder nicht. 

Oder du schreibst es in VB.NET - was dann das .NET Framework voraussetzt, welches allerdings meist bereits installiert ist; auf jeden Fall auf Vista.

Gruß


----------

