Annons
Jag har ägnat mycket tid åt att hjälpa vänner och familj med sina datorproblem, och jag måste säga att framför allt andra problem, en fråga som jag ser kommer upp om och om igen är tempfiler och loggfiler som äter upp krympande diskutrymme och så småningom buggar ner systemet.
Den tillfälliga mappen för Internetfiler är en vanlig skyldige, men det är en som har en enkel lösning, eftersom allt du behöver göra är att ställa in filerna för att raderas inuti Internetalternativ i kontrollen panel. Men vad sägs om den irriterande Windows-temp-mappen eller alla dessa applikationsloggfiler som fortsätter att byggas upp med slumpmässigt skräp som aldrig raderas? Till en början orsakar de inte så mycket problem, men med tiden förvandlas den ackumulerade skräp till en massiv hög med gamla filer som inte har något användbart syfte.
Välskrivna applikationer tar bort logg- eller temp-filer som inte längre behövs, men för många program där ute städar inte ordentligt efter sig själva - lämnar dig, efter år, med en väldigt rörig dator. Men om du känner till några speciella loggmappar - oavsett om det är Windows temp-mappen eller programloggmappar, som ett antivirusprogram anmälningsloggmapp eller något liknande, kan du använda följande Windows-skript för att regelbundet rensa upp de loggfiler som är äldre än några dagar.
Rengör tempfiler med Windows-skript
Om du är ny inom Windows Scripting, titta snabbt på WSH handledning Better Than Batch: En Windows-scripting värdstudie Läs mer Jag skrev en stund tillbaka. Det finns massor av coola saker du kan göra med Windows Script, som ändra nätverksinställningar Hur man skriver ett Windows-skript för att ändra nätverksinställningar i fartenI många kontor eller arbetsmiljöer kan du behöva omdefiniera dina nätverksinställningar för att ansluta till olika nätverk. Jag befann mig ofta i denna situation och blev så trött på att bläddra till ... Läs mer eller automatiskt schemalägga din antivirus- eller skadlig programvara för skanning 5 sätt att rensa upp din dator med ett automatiskt skript [Windows]Datorunderhåll är inte exakt något som de flesta kommer ihåg att göra. För den allmänna användaren som inte är exakt teknisk kunnig, när en dator inte fungerar, ringer de antingen för hjälp eller helt enkelt köper en ny ... Läs mer .
Uppenbarligen, om du vill schemalägga en saneringsrutin för att hålla applikationsloggfiler eller tillfälliga filmappar under kontroll, är Windows Script definitivt lösningen.
Skriva ett Windows-rensning
Detta Windows-skript kommer att fokusera på en viss katalog och gå igenom hela katalogen och leta efter filer som har ett modifieringsdatum som är äldre än några dagar. Den raderar sedan dessa filer. Därefter går skriptet igenom alla underkataloger och utför samma kontroll och sanering. Låter komplicerat? Det är inte. Den första delen av skriptet ser ut så här:
Alternativ explicit vid fel Återuppta Nästa Dim oFSO, oFolder, sDirectoryPath Dim oFileCollection, oFile, sDir Dim iDaysOld iDaysOld = 3
Det här avsnittet förklarar filsystemvariablerna som du ska använda för att komma åt katalogen och filerna som du vill rensa upp. Att ställa in variabeln "iDaysOld" säger till skriptet åldern för filerna som du vill behålla. I det här fallet behåller jag alla filer som är nyare än tre dagar gamla.
Därefter kommer det ultra-enkla saneringsavsnittet.
'***** RENA UT GAMLA FILER I LOGGMÄTARE ***** sDirectoryPath = "C: \ Användare \ Ägare \ AppData \ Lokal \ Temp \" Ställ in oFSO = CreateObject ("Skriptning. FileSystemObject ") Ställ in oFolder = oFSO.GetFolder (sDirectoryPath) Ställ in oFileCollection = oFolder. Filer för varje fil i oFileCollection If oFile. DateLastModifiedAvsnittet ovan ansluter till Windows File System och ansluter sedan till katalogen som du har definierat med variabeln "sDirectoryPath". Den första slingan går igenom varje enskild fil i katalogen, kontrollerar det modifierade datumet och jämför det med åldern på filen som du definierade. Om den är äldre än tre dagar utför den en radering av den filen.
Det här fungerar bra på filer, men hur är det med alla underkataloger i mappar som Windows temp-katalog? Det här nästa avsnittet av skriptet kommer nästa fil genom alla underkataloger och utför samma filoperationer också på filerna där.
För varje oSubFolder i oSubFolders sDirectoryPath = "C: \ Användare \ Ägare \ AppData \ Lokal \ Temp \" & oSubFolder Set oFSO = CreateObject ("Skriptning." FileSystemObject ") Ställ in oFolder = oFSO.GetFolder (sDirectoryPath) Ställ in oFileCollection = oFolder. Filer för varje fil i oFileCollection If oFile. DateLastModifiedSlutligen, glöm inte att rensa föremålen i fallet där det inte fanns några underkataloger att gå igenom.
Ställ in oFSO = Ingenting Ställ in oFolder = Ingenting Ställ in oFileCollection = Ingenting Ställ in oFile = Ingenting WScript. SlutaSå enkelt är det. Skriptet ovan kommer att rensa upp alla mappar som du kanske vill rengöra. Skriv ett enskilt skript för varje katalog som du vill städa upp i ett vanligt schema, ställ in "SDirectoryPath" till den katalog du vill hålla ren och lagra den sedan i en katalog som "C: \ temp \" eller ”C: \ VBScripts \”. När du har installerat dessa skript är du redo att schemalägga dessa skript.
Schemalägga dina rensningsskript
För att schemalägga ditt saneringsskript, i Windows 7, gå till Administrationsverktyg och öppna uppgiften Scheduler.
Skapa en grundläggande uppgift från menyalternativet Åtgärd.
Ställ sedan in det återkommande schemat som ska köras när du vill rensa upp den katalogen. I mitt fall kör jag mina saneringsskript vid middagstid på söndag när jag vanligtvis alltid är inloggad och arbetar på min dator. Skriptet körs bara i bakgrunden.
Du måste ställa in en schemalagd uppgift för varje Windows-skript som du har skrivit för att rensa upp de enskilda logg- eller temp-katalogerna.
För att testa ut ditt skript efter att du har skapat i Aktivitetsschemat, klicka bara på "Åtgärd" och sedan på "Kör".
Du bör se alla filer i den logg- eller temp-mappen som är äldre än några dagar (eller hur du ställer in skriptet) raderas automatiskt. I mitt fall städar jag upp min Windows Temp-mapp varje vecka. Efter att ha kört detta skript såg jag ungefär 45 filer i mappen hugga ner till ungefär 20 av de senaste filerna - inklusive alla filerna i underkatalogerna.
Det kan vara en verklig smärta att underhålla datorer - och det jobbet kan bli ännu svårare när du har systemet och allt sorters applikationer skriver hela tiden för att logga filer eller bygga upp skräp temp-filer i Windows temp-mappen. Det här skriptet är särskilt användbart för IT-tekniker som regelbundet kan köra batchjobb eller skript på en server som alla skapar nya loggfiler varje gång de körs. Genom att köra ett Windows-skript som regelbundet rensar upp de äldsta loggfilerna kan du skriva WSF-filer som ovan som kommer att behålla dem loggkataloger trevliga och rena - du kan hålla en historik över de loggfiler du vill, men rensa upp de riktigt gamla som du gör det inte.
Kan du tänka på några kreativa användningar för ett sådant manus? Rengör du temp-mappar och loggar filer manuellt - och kan ett skript som detta spara dig? Testa det och dela dina tankar och feedback i kommentarerna nedan!
Bildkredit: Crane at Junk Yard via Shutterstock
Ryan har en kandidatexamen i elektroteknik. Han har arbetat 13 år inom automationsteknik, 5 år inom IT och är nu en applikationsingenjör. Han var tidigare chefredaktör för MakeUseOf och talade vid nationella konferenser om datavisualisering och har varit med på nationell TV och radio.