Advertentie
Ik heb veel tijd besteed aan het helpen van vrienden en familie met hun computerproblemen, en ik moet zeggen dat boven alle andere problemen de een probleem dat ik steeds weer zie opduiken, zijn tijdelijke bestanden en logbestanden die de krimpende schijfruimte opslokken en uiteindelijk vastlopen systeem.
De tijdelijke map met internetbestanden is een veelvoorkomende boosdoener, maar die heeft een gemakkelijke oplossing, want het enige wat je hoeft te doen is de bestanden instellen om verwijderd te worden binnen de internetopties in de besturing paneel. Maar hoe zit het met die vervelende Windows-tijdelijke map of al die toepassingslogbestanden die zich blijven opbouwen met willekeurige rommel die nooit wordt verwijderd? In het begin veroorzaken die niet veel problemen, maar na verloop van tijd verandert die opgehoopte rommel in een enorme stapel oude bestanden die geen nuttig doel hebben.
Goed geschreven applicaties verwijderen log- of tijdelijke bestanden die niet langer nodig zijn, maar te veel programma's daarbuiten niet goed opruimen na zichzelf - waardoor je, na jaren, een heel rommelig gevoel krijgt computer. Als u echter bepaalde logboekmappen kent - of het nu de Windows tijdelijke map of toepassingslogboekmappen is, zoals een antivirusprogramma meldingslogboekmap of iets dergelijks, u kunt het volgende Windows-script gebruiken om regelmatig die logboekbestanden op te schonen die ouder zijn dan een paar dagen.
Clean Temp-bestanden met Windows Script
Als je nieuw bent bij Windows Scripting, kijk dan snel naar de WSH-zelfstudie Better Than Batch: A Windows Scripting Host Tutorial Lees verder Ik heb een tijdje geleden geschreven. Er zijn veel leuke dingen die u met Windows Script kunt doen, zoals netwerkinstellingen wijzigen Hoe een Windows-script te schrijven om netwerkinstellingen on-the-fly te wijzigenIn veel kantoren of werkomgevingen moet u mogelijk uw netwerkinstellingen opnieuw definiëren om verbinding te maken met verschillende netwerken. Ik bevond me vaak genoeg in deze situatie en werd zo moe van het browsen naar de ... Lees verder of het automatisch plannen van uw antivirus- of malwarescansoftware 5 manieren om uw computer op te schonen met een geautomatiseerd script [Windows]Computeronderhoud is niet bepaald iets dat de meeste mensen onthouden om te doen. Voor de algemene gebruiker die niet bepaald technisch onderlegd is, wanneer een computer niet werkt, roepen ze om hulp of kopen ze gewoon een nieuwe ... Lees verder .
Het is duidelijk dat als u een opschoonroutine wilt plannen om die toepassingslogbestanden of tijdelijke bestandsmappen onder controle te houden, Windows Script zeker de oplossing is.
Een Cleanup Windows Script schrijven
Dit Windows-script gaat zich concentreren op een bepaalde map en door die hele map gaan op zoek naar bestanden met een wijzigingsdatum die ouder is dan een paar dagen. Vervolgens worden die bestanden verwijderd. Vervolgens zal het script alle submappen doorlopen en dezelfde controle en opschoning uitvoeren. Klinkt ingewikkeld? Het is niet. Het eerste deel van het script ziet er zo uit:
Optie Expliciet bij fout Hervatten Volgende dim oFSO, oFolder, sDirectoryPath Dim oFileCollection, oFile, sDir Dim iDaysOld iDaysOld = 3
In dit gedeelte worden de variabelen van het bestandssysteem vermeld die u gaat gebruiken om toegang te krijgen tot de directory en de bestanden die u wilt opschonen. Het instellen van de "iDaysOld" -variabele vertelt het script de leeftijd van de bestanden die u wilt bewaren. In dit geval bewaar ik bestanden die nieuwer zijn dan 3 dagen oud.
Vervolgens komt het ultraeenvoudige opruimgedeelte.
'***** OUDE BESTANDEN WISSEN IN LOGMAP ***** sDirectoryPath = "C: \ Users \ Owner \ AppData \ Local \ Temp \" Set oFSO = CreateObject ("Scripting. FileSystemObject ") Set oFolder = oFSO.GetFolder (sDirectoryPath) Set oFileCollection = oFolder. Bestanden voor elk bestand in oFileCollection If oFile. DateLastModifiedDe sectie hierboven maakt verbinding met het Windows-bestandssysteem en maakt vervolgens verbinding met de directory die u heeft gedefinieerd met de variabele 'sDirectoryPath'. Deze eerste lus doorloopt elk afzonderlijk bestand in de directory, controleert de wijzigingsdatum en vergelijkt deze met de leeftijd van het bestand dat u hebt gedefinieerd. Als het ouder is dan 3 dagen, voert het een verwijderingsbewerking uit op dat bestand.
Dit werkt geweldig op bestanden, maar hoe zit het met alle submappen in mappen zoals de Windows tijdelijke map? Deze volgende sectie van het script zal vervolgens door alle submappen gaan en dezelfde bestandsbewerkingen uitvoeren voor de bestanden daarin.
Voor elke oSubFolder in oSubFolders sDirectoryPath = "C: \ Users \ Owner \ AppData \ Local \ Temp \" & oSubFolder Set oFSO = CreateObject ("Scripting. FileSystemObject ") Set oFolder = oFSO.GetFolder (sDirectoryPath) Set oFileCollection = oFolder. Bestanden voor elk bestand in oFileCollection If oFile. DateLastModifiedVergeet ten slotte niet om de objecten op te ruimen in het geval dat er geen submappen waren om doorheen te gaan.
Set oFSO = niets Set oFolder = niets Set oFileCollection = niets Set oFile = niets WScript. Stop ermeeZo simpel is het. Het bovenstaande script ruimt elke map op die u eventueel wilt opschonen. Schrijf een individueel script voor elke map die u regelmatig wilt opschonen, stel de "SDirectoryPath" naar de map die u schoon wilt houden en sla deze op in een map zoals "C: \ temp \" of "C: \ vbscripts \". Zodra u deze scripts heeft ingesteld, kunt u die scripts plannen.
Uw opschoonscripts plannen
Om uw opruimscript te plannen, gaat u in Windows 7 naar Systeembeheer en opent u de Taakplanner.
Maak een basistaak via het menu-item Actie.
Stel vervolgens het terugkerende schema in dat wordt uitgevoerd wanneer u die map wilt opruimen. In mijn geval voer ik mijn opschoonscripts op zondagmiddag uit, terwijl ik meestal altijd ben ingelogd en op mijn computer werk. De scripts draaien gewoon op de achtergrond.
Je moet een geplande taak instellen voor elk Windows-script dat je hebt geschreven om de individuele log- of tijdelijke mappen op te schonen.
Om je script te testen nadat je het in het Taakschema hebt aangemaakt, klik je gewoon op "Actie" en vervolgens op "Uitvoeren".
U zou moeten zien dat alle bestanden in die log- of tijdelijke map die ouder zijn dan een paar dagen (of hoe u uw script ook instelt) automatisch worden verwijderd. In mijn geval ruim ik mijn Windows Temp-map wekelijks op. Nadat ik dit script had uitgevoerd, zag ik dat ongeveer 45 bestanden in de map werden teruggebracht tot ongeveer 20 van de nieuwste bestanden, inclusief alle bestanden in de submappen.
Het kan heel vervelend zijn om computers te onderhouden - en die taak kan nog moeilijker worden als je het systeem en zo hebt soorten applicaties die constant naar logbestanden schrijven of ongewenste temp-bestanden opbouwen in de Windows tijdelijke map. Dit script is vooral handig voor IT-techneuten die regelmatig batchtaken of scripts uitvoeren op een server die allemaal nieuwe logbestanden maken elke keer dat ze worden uitgevoerd. Door een Windows-script uit te voeren dat regelmatig de oudste logbestanden opruimt, kunt u WSF-bestanden zoals hierboven schrijven om die te behouden log directories mooi en schoon - u kunt een geschiedenis bijhouden van de logbestanden die u wilt, maar de echt oude die u opruimt niet.
Kun je enkele creatieve toepassingen bedenken voor zo'n script? Maak je tijdelijke mappen en logbestanden handmatig schoon - en kan een dergelijk script je werk besparen? Probeer het eens en deel uw mening en feedback in de opmerkingen hieronder!
Afbeelding tegoed: Kraan op Junk Yard via Shutterstock
Ryan heeft een BSc-graad in elektrotechniek. Hij heeft 13 jaar in automatiseringstechniek gewerkt, 5 jaar in IT en is nu een Apps Engineer. Hij was een voormalig hoofdredacteur van MakeUseOf, hij sprak op nationale conferenties over datavisualisatie en was te zien op nationale tv en radio.