08-09-2024, 09:37 AM
// script "Delete shell icon cache.cs"
/*/ uac admin; /*/
int id = wnd.getwnd.shellWindow.ProcessId;
process.terminate(id, 1);
try {
process.waitForExit(0, id, out _);
var a = process.getProcessIds("explorer.exe");
foreach (var v in a) {
process.terminate(v, 1);
process.waitForExit(0, v, out _);
}
string folder = folders.LocalAppData + @"Microsoft\Windows\Explorer";
bool failed = false;
foreach (var f in filesystem.enumFiles(folder, "iconcache*.db")) {
//print.it(f);
failed |= false == filesystem.delete(f.FullPath, FDFlags.CanFail);
}
if (failed) osdText.showText("Failed to delete some cache files.\nClose programs that may use it.\nTry to run this script again.");
}
finally { run.it(folders.Windows + @"explorer.exe", flags: RFlags.InheritAdmin); }