Daten in eine Datei schreiben

Moin zusammen!
Ich komm einfach nicht weiter, ich hab nicht keine Übung mit VB und nutze es deshalb recht wenig.
Nun brauch in mal Hilf bei etwas ganz einfachen, aber wohl zu schwer für mich. :smile:
'…temporaerer GetFreeSpace.vbs-Schnipsel
Set FSO = CreateObject(„scripting.FileSystemObject“)
Set myDrive = FSO.GetDrive(wscript.arguments(0))
Open „C:\Test.txt“ For Output As #1

Write #1, int(myDrive.freeSpace/(1024 *1024)/1024)

Close #1
Ich brauch den freinen Speicherpülatz der HDD ausgegeben in eine Datei. Wenn ich das o.s. laufen lasse, dann bekomme ich den Fehler:
Anweisungsemde erwartet in Zeile 4 Zeichen 23
Ich bekomme einfach nicht raus, warum er mit den FOR nichts anfangen kann.

Über hilfe würde ich mich sehr freuen.

Viele Grüße
Thilo

Moin, Bommi,

Open „C:\Test.txt“ For Output As #1

soweit ich weiß, musst Du Dir die Dateinummer erstmal mit freefile besorgen. Aus der VBA-Hilfe:

 Dim Index1, Dateinummer
 For Index1 = 1 To 5 ' Schleife 5 mal durchlaufen.
 Dateinummer = **FreeFile**' neue Datei-Nr. bestimmen.
 Open "TEST" & Index1 For Output As #Dateinummer 
 Write #Dateinummer, "Beispieldaten." ' Text ausgeben.
 Close #Dateinummer ' Datei schließen.
 Next Index1

Gruß Ralf

Hallo Ralf,

hab ich geändert, aber der Fehler bleibt. :wink:

Gruß
Thilo

Hi Thilo,

hab ich geändert, aber der Fehler bleibt. :wink:

das ist bitter - aber Du hast recht, es geht auch ohne Freefile.

Deinen Schnipsel habe ich gerade getestet, konnte aber mit GetDrive nichts anfangen. So jedenfalls klappt das Schreiben:

Private Sub opentest()
 Dim fso, mydrive

 Set fso = CreateObject("scripting.FileSystemObject")
 'Set mydrive = fso.GetDrive(wscript.arguments(0))
 Open "C:\Test.txt" For Output As #1

 'Write #1, Int(mydrive.freeSpace / (1024 \* 1024) / 1024)
 Write #1, "MeineDaten"

Close #1
End Sub

Wie kommst Du überhaupt an die Zeilennummer? Bei mir wird die fehlerhafte Anweisung vom Compiler markiert, Nummern sehe ich keine.

Gruß Ralf

Wie kommst Du überhaupt an die Zeilennummer? Bei mir wird die
fehlerhafte Anweisung vom Compiler markiert, Nummern sehe ich
keine.

Hallo Ralf,

bei VBS kommt so eine Fehlermeldung und ich mutmaße das meint der Anfrager.

Gruß
Reinhard

Hallo,

'…temporaerer GetFreeSpace. ;vbs -Schnipsel

Open"C:\Test.txt" For Output As #1

Das passt nicht zusammen, VBS kennt Open nicht.

In VBS musst Du das so schreiben:

 Const ForWriting = 2
 Dim fso, f, myDrive, Platz
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set myDrive = fso.GetDrive(fso.GetDriveName("c:"))
 Platz = myDrive.freeSpace / 1024
 Set f = fso.OpenTextFile("c:\test.txt", ForWriting, True)
 f.Write Platz

Gruß Rainer

Hallo Ralf,

Open „C:\Test.txt“ For Output As #1

in VB geht das, in VBS nicht. VBS kennt Open nicht.

Gruß Rainer

Geht immer noch nicht. Hab immer noch die gleiche Fehlermeldung!
Also der Job ohne die Ausgabe in eine Datei, zeigt mir den freien Speicherplatz der HDD an. Aufruf: Test.vsb C: und eine Anzeig erscheint und da steht dann eine Zahl drin. Da ich diese Skript in ein MS-SMS Paket einbauen muss und die Ausgegebene Zahl weiter verarbeiten muss wollte ich sie in eine Datei ausgeben.
Ich bearbeite das mit TextPad und nicht mit dem VB Programm. Haben wir zwar auch müsste ich aber auch erst wieder installieren.

Gruß
Thilo

Hallo Rainer,

hab Deine Antwort jetzt erst gesehen. Gibt es denn eine Möglichkeit unter VBS Daten in eine Datei zu schreiben?

Gruß
Thilo

Hi Thilo,

hab Deine Antwort jetzt erst gesehen. Gibt es denn eine
Möglichkeit unter VBS Daten in eine Datei zu schreiben?

ich habe oben auf Deine ursprüngliche Frage geantwortet, mit Code. da steht, wie man mit VBS in eine Datei schreibt.

Gruß Rainer

Juhu klapp jetzt alles. Vielen Dank!!! *Freu*

Und schönen Tag noch.

VG Thilo