Kan någon hitta felet i denna kod? Det skulle vara väldigt hjälpsamt.
var FIX = "Farres Autofix"
var TITLE = "Farres Autofix";
var wsh = WScript.CreateObject("WScript.Shell");
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var IEDIR = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Cache";
var IEMAX = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Cache\\Content\\CacheLimit";
var nfiles = 0;
var nbytes = 0;
function survey(dirname) {
try {
var dir = fso.GetFolder(dirname);
} catch(err) { return err; }
var e;
// Count number and size of files in this directory
for (e = new Enumerator(dir.files); !e.atEnd(); e.moveNext()) {
var file = e.item();
nbytes += file.Size;
nfiles++;
}
// Count files in the subdirectories as well
for (e = new Enumerator(dir.subFolders); !e.atEnd(); e.moveNext()) {
survey(e.item());
}
return null;
}
function deltree(dirname) {
try {
var dir = fso.GetFolder(dirname);
} catch(err) { return err; }
for (var e = new Enumerator(dir.subFolders); !e.atEnd(); e.moveNext()) {
var folder = e.item();
try { deltree(folder); folder.Delete(0); } catch(err) {}
}
return null;
}
// Get IE cache settings from the registry
var iecache = "";
try {
iecache = wsh.RegRead("HKCU"+IEDIR);
} catch(e) {
try { iecache = wsh.RegRead("HKLM"+IEDIR); } catch(e) {}
}
var iemax = 0;
try {
iemax = wsh.RegRead("HKCU"+IEMAX);
} catch(e) {
try { iemax = wsh.RegRead("HKLM"+IEMAX); } catch(e) {}
}
if ( !iecache || !iemax ) {
wsh.Popup("Äh, din dator suger.;",0,TITLE,16);
WScript.Quit(1);
}
if ( !iecache.match(/^\w:\\/) || !iecache.match(/temp/i) ) {
wsh.Popup("Du suger.;: "+iecache+"",0,TITLE,16);
WScript.Quit(2);
}
var msg = "Vill du köra "+FIX+"? Den tar bort onödiga filer som finns på datorn. Det kan ta ett tag, så ha tålamod.";
msg += "Du kommer att få se en lista som visar vilka filer som kommer att raderas.";
yn = wsh.Popup(msg,0,TITLE,68);
if ( yn != 6 ) {
wsh.Popup("Visst visst det var du som avbröt. Inget har hänt",0,TITLE,48);
WScript.Quit(1);
}
// Count files in cache directory
survey(iecache);
if ( nfiles <= 5 ) {
wsh.Popup("Verkar som om din dator är ren. Den behöver ingen rensning.",0,TITLE,64);
WScript.Quit(3);
}
var mb = Math.round(100*(nbytes/(1024*1024)))/100;
if ( mb > 10 )
mb = Math.round(mb);
var msg = "Internet Explorer cache will be cleaned:\n\n";
msg += "Folder:\t"+iecache+"\n";
msg += "Maximum:\t"+iemax+" MB\n";
msg += "Currently:\t"+mb+" MB, "+nfiles+" files\n";
if ( mb > iemax )
msg += "\t(NOTE: IE cache has overflowed!)\n";
msg += "\nVill du ta bort dessa med hjälp av "+FIX+"?;
var yn = wsh.Popup(msg,0,TITLE,36);
if ( yn != 6 ) {
wsh.Popup("Visst visst det var du som avbröt. Inget har hänt",0,TITLE,48);
WScript.Quit(4);
}
deltree(iecache);
wsh.Popup("Då har"+FIX+" gjort sitt jobb. Ha en trevlig dag!",0,TITLE,64);
WScript.Quit(0);