viking980 10 Geschrieben 10. August 2007 Melden Teilen Geschrieben 10. August 2007 Hallo zusammen, besteht die Möglichkeit per Script die Festplattengröße und die -belegung auszulesen und nur die beiten Werte in eine Datei zu schreiben ? Vielen Dank schon 'mal im Voraus. Viele Grüße Zitieren Link zu diesem Kommentar
marka 584 Geschrieben 10. August 2007 Melden Teilen Geschrieben 10. August 2007 Folgendes VBScript liest Größe und freien Speicherplatz der Festplatten C: und D: aus und gibt sie in einer Meldung aus. Anschließend wird man gefragt, ob man einen Logeintrag erzeugen will. Dieser Eintrag wird dann an eine evtl. schon bestehende Datei angehängt. Ich habe mich für derartige Dinge für die Ausgabe als CSV entschieden, weil die Verarbeitung mit Tabellenkalkulationen dann einfacher ist ;). Unten stehenden Code in Texteditor kopieren und als Datei mit der Endung vbs abspeichern... '------------------------------------------ ' Ermittlung des Computernamens Set MyFiles = CreateObject("Scripting.FileSystemObject") Set wshnet = CreateObject("WScript.Network") Set wshshell = CreateObject("WScript.Shell") Dim strComputer strComputer = wshnet.Computername 'Auslesen der Windows-Hardwareinformationen Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48) For Each objItem in colItems if objItem.Caption = "C:" then festplatteC= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte" if objItem.Caption = "D:" then festplatteD= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte" Next ' Datum und Uhrzeit ermitteln Dim ausgabe Dim datum Dim zeit set ausgabe = WScript.CreateObject("WScript.Shell") datum = Date zeit = Time timestamp = datum & " " & zeit ' Messagebox mit den abgefragten Werten erzeugen und anzeigen Meldung = "Folgende Daten wurden ermittelt:" & VbCr & VbCr Add "Festplatte C: " & festplatteC Add "Festplatte D: " & festplatteD Add "Timestamp: " & timestamp MsgBox Meldung,,"Ergebnis:" Sub Add(text) ' fügt Text hinzu Meldung = Meldung & text & vbCrLf End Sub Frage_Logfile = "Sollen diese Angaben in das Logfile eingetragen werden?" antwort = MsgBox(Frage_Logfile, vbYesNo + vbQuestion,"Logeintrag erzeugen?") if antwort = vbNo then MsgBox "Kein Logeintrag geschrieben.",vbExclamation,"Abbruch" WScript.Quit end if ' Erzeugung des Strings für die Logdatei Logeintrag = festplatteC & ";" & festplatteD & ";" & timestamp ' Deklaration der Variablen für das Logfile filename = "D:\HW-Infos.csv" ' <---- Hier den Pfad und den Dateinamen des zu schreibenden Logfiles eintragen Const ForAppending = 8 Set fs = CreateObject("Scripting.FileSystemObject") ' Logdatei zum Anhängen der Eintrage laden Set textstream = fs.OpenTextFile(filename, ForAppending, True) ok = (Err.number = 0) If ok Then On Error Goto 0 textstream.WriteLine Logeintrag textstream.Close' Logeintrag_OK = "Folgender Logeintrag wurde erzeugt:" & vbcr & vbcr & Logeintrag MsgBox Logeintrag_OK,,"Logeintragung erfolgreich:" Else MsgBox "Fehler: " & Err.Description End If Zitieren Link zu diesem Kommentar
viking980 10 Geschrieben 10. August 2007 Autor Melden Teilen Geschrieben 10. August 2007 Hallo Markus, vielen Dank schon für das Script. Könnte man es auch so abändern, daß ohne Nachfrage direkt in die Datei geschrieben wird sowie die Grössen in Byte angegeben werden ? Schön wäre es noch, wenn die Datuminformationen vorne ständen. Vielen Dank für deine Mühe. Zitieren Link zu diesem Kommentar
viking980 10 Geschrieben 11. August 2007 Autor Melden Teilen Geschrieben 11. August 2007 Hallo, durch etwas 'basteln' habe ich die Anpassung hinbekommen. Vielen Dank nochmals für die Hilfe. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.