Marco Eder: Resultat nicht ausgeben, sondern in eine Textdatei speichern

Beitrag lesen

Hallo Forum

Ich bins schon wieder. Ich dachte zuerst, ich frage mal in einem anderen Forum nach (2 Threads innerhalb einer Stunde sind ein bisschen viel), warte allerdings schon lange auf eine Antwort. Und da habe ich gemerkt, dass das hier immer noch das beste Forum ist... So genug geschleimt :-) Hoffe ich bekomme trotzdem eine Antwort.

Ich habe eine vbs Datei erstellt, welche sozusagen den dir Befehl von Dos ausführt. Er zeigt an, was sich im Laufwerk C: befindet, sowie unter Programme. Nur kommt dies in Form eines Fensters (ähnlich wie MSGBOX), ich jedoch möchte, dass er das in eine Textdatei schreibt...
Wie kann ich das bewerkstelligen?
Hier mal mein Code (Die Funktionen sind nebensächlich):

root = ExecuteDOS("DIR C:")
WScript.Echo root
WScript.Echo ASCIItoANSI(root)

programme = ExecuteDOS("DIR C:\Programme")
WScript.Echo programme
WScript.Echo ASCIItoANSI(programme)

Function ExecuteDOS(befehl)
Set wshshell = CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
Set temp = fs.GetSpecialFolder(2)
temppath = temp.Path
ausgabe = temppath & "\ausgabe.txt"
kommando = "%COMSPEC% /C " & befehl & " > """ & ausgabe & """"
resultat = wshshell.Run(kommando, 1, True)
Set textstream = fs.OpenTextFile(ausgabe)
if not textstream.atEndOfStream then
ExecuteDOS = textstream.ReadAll
end if
textstream.Close
fs.DeleteFile ausgabe, True
End Function

Function ASCIItoANSI(text)
ersetzung = Split("132,228,129,252,142,196,154,220,153,214,148,246,225,223", ",")
ASCIItoANSI = text
For x = 0 to UBound(ersetzung) Step 2
ASCIItoANSI = Replace(ASCIItoANSI, Chr(ersetzung(x)), Chr(ersetzung(x+1)))
Next
End Function

Ein weiteres Problem ist, dass es immer doppelt ausgegeben wird. Also der Inhalt von Root wird zweimal angezeigt (genauso auch Programme).
Wichtiger ist mir aber, zu wissen, wie ich das in eine Textdatei abspeichern kann...

Wäre sehr dankbar für Hilfe! Und fühlt euch nicht vom Code erschlagen, der ist eigentlich nebensächlich... Dachte nur ich poste den auch mal, vielleicht ist der ja für eure Antworten (wenn eine kommt) hilfreich.

So, dass wäre vorest glaub alles :-)
Gruss Marco