/* * [BatikGeneva.java] * * Summary: Delete junk files, customised for Geneva's Compaq computer. * * Copyright: (c) 2000-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.1 2009-02-07 update for laptop. * 1.2 2010-03-02 update for XP */ package com.mindprod.batik; import com.mindprod.filter.FileListFilter; import com.mindprod.filter.JunkFileFilter; import com.mindprod.filter.MultiFilter; import java.awt.Toolkit; import java.io.File; import static com.mindprod.batik.Batik.*; import static java.lang.System.*; /** * Delete junk files, customised for Geneva's Compaq computer. * * @author Roedy Green, Canadian Mind Products * @version 1.2 2010-03-02 update for XP. * @since 2000 */ public final class BatikGeneva { /** * make a noice with pc speaker */ private static void beep() { Toolkit.getDefaultToolkit().beep(); } /** * Custom program to clean all junk files from Geneva's Vista Del XP laptop. You would modify this script section * to suit your * machine and recompile. I repeat, you need to extensively modify this for your own use!! Standard main, cleans all * drives of junk files. * * @param args not used. */ public static void main( String args[] ) { try { // Some of these directories are hidden, but we can delete contents // anyway out.println( "clearing out temp directories" ); String user = "owner"; deleteDirContents( new File( "C:/Users/" + user + "/AppData/Local/O&O/O&O Defrag/reports" ), true ); deleteDirContents( new File( "C:/Users/" + user + "/AppData/Local/Opera/Opera/cache" ), true ); deleteDirContents( new File( "C:/Users/" + user + "/AppData/Local/Opera/Opera/opcache" ), true ); deleteDirContents( new File( "C:/Users/" + user + "/AppData/Local/Opera/Opera/temporary_downloads" ), true ); deleteDirContents( new File( "C:/Users/" + user + "/AppData/Local/Temp" ), true ); deleteDirContents( new File( "C:/Users/" + user + "/AppData/Roaming/OpenOffice.org/3/user/temp" ), true ); deleteDirContents( new File( "C:/Windows/Temp" ), true ); deleteDirContents( new File( "C:/Windows/winsxs/Temp" ), true ); deleteDirContents( new File( "C:/temp" ), true ); deleteDirContents( new File( "C:/tmp" ), true ); } catch ( Exception e ) { err.println(); e.printStackTrace( err ); Toolkit.getDefaultToolkit().beep(); err.println( "Problem clearing temp directories." ); err.println(); } try { // clear junk extensions out.println(); avoidDirs( "C:/windows/system32", "C:/Program Files/Java/jre7" ); out.println( "clearing all drives of delete_me, temp?.*, *.bak, *.tmp, *.temp junk extensions." ); // name must be temp, not just begin temp e.g. template. // delete_me*.del are the piles of junk left behind by 12 ghosts Trojan. // It does not find the Jnuk final JunkFileFilter driveFilter = new JunkFileFilter(); // Delete either temp.* not temp*.* driveFilter.setStartsWith( "delete_me", "jet_err_", "temp_" ); driveFilter.setFilenames( "temp", "temp1", "temp2" ); driveFilter.setExtensions( "bak", "tmp", "temp", "log", "dmp", "ilk", "aps", "ncb", "pch", "pdb" ); // don't delete any install.logs. They are needed for uninstall. final FileListFilter driveExceptions = new FileListFilter( "install.log" ); final MultiFilter driveCombi = new MultiFilter( MultiFilter.FILES ); driveCombi.addMust( driveFilter ); driveCombi.addNever( driveExceptions ); setJunkFilter( driveCombi ); cleanDrives( 'C' ); out.println(); } catch ( Exception e ) { err.println(); e.printStackTrace( err ); beep(); err.println( "Problem removing junk extensions." ); err.println(); } try { // rebuild TCC quick directory index out.println(); out.println( "rebuilding TCC directory..." ); tcc( "C:/Program Files/JPSoft/TCMD20/tcc.exe", "CDD /S C:\\ " ); } catch ( Exception e ) { err.println(); e.printStackTrace( err ); beep(); err.println( "Problem rebuilding TCC directory" ); err.println(); } try { // empty recycle bins out.println(); out.println( "empty recycle bins..." ); exec( "emptyrecyclebin.exe /Q", true ); } catch ( Exception e ) { err.println(); e.printStackTrace( err ); beep(); err.println( "Problem emptying recycle bins" ); err.println(); } out.println(); out.println( "Done" ); } }