# VB/VBA: DOS-Befehle starten (inkl. Ausgabe in einer Variablen)



## tschroeder (14. Dezember 2005)

Hallo,

ich möchte aus VB (eigentlich Access VBA) heraus mehrere DOS-Befehle ausführen und dabei auch das Ergebnis auswerten.


Möglichkeit 1: 

Eine Batchdatei schreiben, die die Befehle enthält, über "... > ergebnis.txt" das Ergebnis in eine Textdatei schreiben und diese dann via VBA auslesen.

Möglichkeit 2: 

Gibt es die?

Kann ich nicht über einen "Shell"-Befehl die komplette Latte an DOS-Befehlen nacheinander anschubsen und das Ergebnis in einer Variablen speichern?

Gruß

Thomas


----------



## Shakie (14. Dezember 2005)

Du kannst mit dem Shell-Befehl einen Dos-Befehl auch so starten, dass die Ausgabe in eine Datei umgeleitet wird, das geht irgendwie mit dem ">" Zeichen: "dir *.*>C:\Temp.txt" oder so ähnlich. (Genauso wie in der Batchdatei halt).
Der Shell-Befehl selber kann nur die Thread-ID des gestarteten Programms zurückgeben (oder war's die Handle-Nummer? ka ^^)


----------



## mage (15. Dezember 2005)

Shakie hat gesagt.:
			
		

> Der Shell-Befehl selber kann nur die Thread-ID des gestarteten Programms zurückgeben (oder war's die Handle-Nummer? ka ^^)



Laut der Hilfe:


			
				VBHilfe hat gesagt.:
			
		

> Wenn die Shell-Funktion die angegebene Datei erfolgreich ausführt, liefert sie die Task-ID des gestarteten Programms zurück. Die Task-ID ist eine Zahl, die das ausgeführte Programm eindeutig kennzeichnet.


----------

