MurphY MacManus 10 Geschrieben 2. November 2005 Melden Geschrieben 2. November 2005 Hallo! Hab ein kleines Problem...sicher kein Thema für euch! Und zwar soll ich ein VB-Script schreiben dass alle Dateien aus einem Ordner verschiebt (auf ein anderes Laufwerk) wenn der Festplattenspeicher weniger als X ist (x = beliebige zahl ob in GB oder MB is vorerst mal egal) Ich hab hier ein tolles Windows Scripting buch aber ich steig da einfach nicht durch und gegoogelt hab ich auch schon 2 wochen lang aber ich find einfach nix! Ich war wohl auf Klo als Gott die Programmierkenntnisse verteilt hat... ;) Für eure hilfe wär ich euch sehr dankbar peace MurphY Zitieren
MurphY MacManus 10 Geschrieben 2. November 2005 Autor Melden Geschrieben 2. November 2005 kann mir keiner helfen?! :( peace MurphY Zitieren
MakaveliHH 10 Geschrieben 2. November 2005 Melden Geschrieben 2. November 2005 Vielleicht kann Dir das weiterhelfen... Das Script verschiebt alle Dateien aus einem Ordner die älter sind als 15 Tage. ----------------- Dim fso, files, file, datei datei=date-15 Set fso = CreateObject ("scripting.FileSystemObject") set files = fso.getFolder("C:\Temp\test1").files For Each file In files if file.datelastmodified < datei Then fso.MoveFile file, "C:\Temp\test2\" End If next ------------------------ Zitieren
MakaveliHH 10 Geschrieben 2. November 2005 Melden Geschrieben 2. November 2005 Hier noch ein Beispiel wie man die Ordnergröße ausließt. Function ZeigeOrdnerGroesse(ordnerAngabe) Dim fso, f, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(ordnerAngabe) s = UCase(f.Name) & " belegt " & f.size & " Byte." ZeigeOrdnerGroesse = s End Function Zitieren
MurphY MacManus 10 Geschrieben 2. November 2005 Autor Melden Geschrieben 2. November 2005 sau cool! werd das gleich mal testen! vielen dank schonmal peace MurphY Zitieren
MurphY MacManus 10 Geschrieben 3. November 2005 Autor Melden Geschrieben 3. November 2005 so jetzt hab ich noch ein anderes problem...ich hab mir jetzt vorgenommen täglich den speicherplatz von einem pc im netzwerk (aber nicht in der domäne) auszulesen...da der rechner nicht in der domäne hängt hab ich natürlich keinen zugriff darauf (also ich kanns nur lokal ausführen)! jetzt müsst ich halt wissen wie ich die benutzerkennung (benutzer + passwort) in dieses script einbaue! für das auslesen des speicherplatzes auf c: hab ich das normale FreeSpace script verwendet! peace MurphY Zitieren
micha42 29 Geschrieben 3. November 2005 Melden Geschrieben 3. November 2005 Du wirst ja die VBS-Datei durch den Taskmanager starten, da kannst Du den User und das PW hinterlegen. (Achtung bei regelmäßigem PW-wechsel) PS: Wenn du die Scripte oben zu einem funktionierenden Script zusammengefügt hast, dann hinterlege es doch hier noch mal. Michael Zitieren
MurphY MacManus 10 Geschrieben 3. November 2005 Autor Melden Geschrieben 3. November 2005 also das script zum ordnergröße auslesen funktioniert schonmal nicht...sagt er erwartet eine ( in zeile 4...da ich den genauen fehler nicht kenne kann ichs auch nicht lösen... hatte das script meinem chef vorgelegt der meinte er will das so nicht haben! er will jetzt plötzlich folgendes: wenn der festplattenspeicher unter x geht dann soll er die ältesten dateien aus ordner y löschen bis der speicher wieder passt... das auslesen des festplattenspeichers hab ich ja hier schonmal (gebe auch den wert in einer msgbox aus): strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDisks = objWMIService.ExecQuery _ ("Select * from Win32_LogicalDisk Where DeviceID = 'C:'") For Each objDisk in colDisks freierspeicher=objdisk.freespace /1024^3 'Wscript.Echo freierspeicher & "GB Freier Speicher" Next if freierspeicher < 30 then Wscript.Echo freierspeicher &"Achtung! Speicherplatz unter 1 GB" else Wscript.Echo "Speicherplatz OK!" End If das ist noch nicht alles aber ich will erstmal das hinbekommen bevor ich zum nächsten schritt gehe...danach poste ich gerne das fertige script für weitere bearbeitung ;) peace MurphY ps: vielen dank schonmal für eure tipps und hilfe!!!!! echt ihr rettet mir mein leben... Zitieren
MakaveliHH 10 Geschrieben 3. November 2005 Melden Geschrieben 3. November 2005 so jetzt hab ich noch ein anderes problem...ich hab mir jetzt vorgenommen täglich den speicherplatz von einem pc im netzwerk (aber nicht in der domäne) auszulesen...da der rechner nicht in der domäne hängt hab ich natürlich keinen zugriff darauf (also ich kanns nur lokal ausführen)! jetzt müsst ich halt wissen wie ich die benutzerkennung (benutzer + passwort) in dieses script einbaue! für das auslesen des speicherplatzes auf c: hab ich das normale FreeSpace script verwendet! peace MurphY Du kannst das Script doch einfach schedulen und dann die Anmeldeinformationen dort eingebnen. Zitieren
MakaveliHH 10 Geschrieben 3. November 2005 Melden Geschrieben 3. November 2005 Ich würde hier folgendermaßen vorgehen. Baue in das Script ein Array ein, mit dem du das datum der datei auslesen kannst. danach einfach eine schleife die überprüft ob das nächste datum > ist, dann soll er diese speichern. sobald er alle dateien durchgegangen ist, sagst du er soll die datei löschen. arbeite am besten mit funktionsaufrufen. pruefe() function pruefe() strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDisks = objWMIService.ExecQuery _ ("Select * from Win32_LogicalDisk Where DeviceID = 'C:'") For Each objDisk in colDisks freierspeicher=objdisk.freespace /1024^3 'Wscript.Echo freierspeicher & "GB Freier Speicher" Next if freierspeicher < 30 then Wscript.Echo freierspeicher &"Achtung! Speicherplatz unter 1 GB" '---------- loesche() '---------- else Wscript.Echo "Speicherplatz OK!" End If function loesche() '----->Hier wird die älteste Datei raus gesucht und gelöscht. 'danach die funktion pruefe starten --> pruefe() Zitieren
MurphY MacManus 10 Geschrieben 3. November 2005 Autor Melden Geschrieben 3. November 2005 danke! kannst du mir das evtl etwas genauer erklären wie ich das angehe? bin leider absoluter programmier-neuling...mir sagt deine lösung schon was aber ich hab probleme das umzusetzen... peace MurphY Zitieren
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.