Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :: Purpose: Nuke ALL versions of the Java Runtime, series 3 through 7, x86 and x64, and JavaFX
- :: Leaves Java Development Kit installations intact. Puts the lotion on its skin.
- :: Requirements: local admin rights
- :: Author: vocatus on reddit.com/r/sysadmin and /r/usefulscripts
- :: additional thanks to:
- :: - reddit.com/user/cannibalkitteh for additional registry cleaning locations
- :: - forums.oracle.com/people/mattmn for a lot of stuff from his Java removal script
- :: History: 1.2 + Added a lot more comments, so you can see what's happening if you so desire
- :: + Major overhaul to WMIC uninstallation section:
- :: - Now wildcard-matches ALL JRE GUIDs, including future revisions to current products (3-7)
- :: - Vastly improved WMIC wildcard matching precision
- :: + Major overhaul to file and directory section, thanks to 'mattmn' on the Oracle forums
- :: + Added additional registry location cleaning, thanks to /u/cannibalkitteh for the suggestion
- :: - HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- :: - HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- :: + Added Chrome to the list of browsers to kill before starting
- :: * Logging improvements
- :: / Switched all browser and Java kill lines to use /T flag (terminate child processes)
- :: 1.1 + Massive overhaul of functionality and logging
- :: 1.0 Initial write
- :: Prep
- @echo off
- set VERSION=1.2
- set UPDATED=2013-07-13
- :::::::::::::::
- :: VARIABLES :: -- set these if you'd like
- :::::::::::::::
- :: Rules for variables:
- :: * NO quotes! (bad: "c:\directory\path" )
- :: * NO trailing slashes on the path! (bad: c:\directory\ )
- :: * Spaces are okay (okay: c:\my folder\with spaces )
- :: * Network paths are okay (okay: \\server\share name )
- :: ( \\172.16.1.5\share name )
- :: Log settings
- set LOGPATH=%SystemDrive%\Logs
- set LOGFILE=%COMPUTERNAME%_java_runtime_removal.log
- :: =============================================================================== ::
- :: Everything below this line is similar to a feral badger: Look, but Do Not Touch ::
- :: =============================================================================== ::
- :: Create the log directory if it doesn't exist
- if not exist %LOGPATH% mkdir %LOGPATH%
- :: Get the date into a format we can use (ISO standard date format)
- set CUR_DATE=%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%
- ::::::::::
- :: PREP ::
- ::::::::::
- :: Log that we started
- echo.
- echo JAVA RUNTIME NUKER
- echo v%VERSION%, updated %UPDATED%
- echo.
- echo %CUR_DATE% %TIME% Beginning removal of Java Runtimes (series 3-7, x86 and x64) and JavaFX...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Beginning removal of Java Runtimes (series 3-7, x86 and x64) and JavaFX...
- :: Kill all browsers and running Java instances first
- echo %CUR_DATE% %TIME% Killing all running browsers and Java instances first...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Killing all running browsers and Java instances first...
- echo.
- taskkill /f /im java.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im javaw.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im javaws.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im jqs.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im jusched.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im iexplore.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im iexplorer.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im firefox.exe /T >> "%LOGPATH%\%LOGFILE%"
- taskkill /f /im chrome.exe /T >> "%LOGPATH%\%LOGFILE%"
- echo.
- :::::::::::::::::::::::::
- :: UNINSTALLER SECTION :: -- Basically here we just brute-force every "normal" method for
- ::::::::::::::::::::::::: removing Java, before resorting to more painstaking methods later
- echo %CUR_DATE% %TIME% Targeting individual JRE versions...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Targeting individual JRE versions...
- echo %CUR_DATE% %TIME% This might take a few minutes. Don't close this window.
- :: Okay, so all JRE runtimes (series 4-7) use product GUIDs, with certain numbers that increment with each new update (e.g. Update 25)
- :: This makes it easy to catch ALL of them through liberal use of WMIC wildcards ("_" is single character, "%" is any number of characters)
- :: Additionally, JRE 6 introduced 64-bit runtimes, so in addition to the two-digit Update revision number (e.g. update 34), we also now
- :: check for the architecture type, which always equals '32' or '64'. First wildcard is the architecture, second is the revision/update number.
- :: JRE 7
- echo %CUR_DATE% %TIME% JRE 7...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JRE 7...
- wmic product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F8__170__FF}'" call uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%"
- :: JRE 6
- echo %CUR_DATE% %TIME% JRE 6...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JRE 6...
- :: 1st line is for updates 23-xx, after 64-bit runtimes were introduced.
- :: 2nd line is for updates 1-22, before Oracle released 64-bit JRE 6 runtimes
- wmic product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F8__160__FF}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- wmic product where "IdentifyingNumber like '{3248F0A8-6813-11D6-A77B-00B0D0160__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- :: JRE 5
- echo %CUR_DATE% %TIME% JRE 5...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JRE 5...
- wmic product where "IdentifyingNumber like '{3248F0A8-6813-11D6-A77B-00B0D0150__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- :: JRE 4
- echo %CUR_DATE% %TIME% JRE 4...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JRE 4...
- wmic product where "IdentifyingNumber like '{7148F0A8-6813-11D6-A77B-00B0D0142__0}'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- :: JRE 3
- echo %CUR_DATE% %TIME% JRE 3 (AKA Java 2 Runtime v1.3.xx)...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JRE 3 (AKA Java 2 Runtime v1.3.xx)...
- :: This version is so old we have to resort to a different method of removing it
- :: Java 2 Runtime Environment Standard Edition v1.3.1_25-00
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_25\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_24\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_23\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_22\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_21\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_20\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_19\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_18\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_17\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_16\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_15\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_14\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_13\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_12\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_11\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_10\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_09\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_08\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_07\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_06\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_05\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_04\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_03\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_02\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3.1_01\Uninst.isu" -a
- %SystemRoot%\IsUninst.exe -f"%SystemDrive%\Program Files\JavaSoft\JRE\1.3\Uninst.isu" -a
- :: Run wildcard uninstallers
- echo %CUR_DATE% %TIME% Now running WMIC wildcard catchall uninstallation...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Now running WMIC wildcard catchall uninstallation...
- wmic product where "name like '%%J2SE Runtime%%'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- wmic product where "name like 'Java%%Runtime%%'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- wmic product where "name like 'JavaFX%%'" call uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Done.>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Done.
- ::::::::::::::::::::::
- :: REGISTRY CLEANUP :: -- This is where it gets hairy. Don't read ahead if you have a weak constitution.
- ::::::::::::::::::::::
- echo %CUR_DATE% %TIME% Commencing registry cleanup...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Commencing registry cleanup...
- echo %CUR_DATE% %TIME% Searching for residual registry keys...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Searching for residual registry keys...
- :: Search MSIExec installer class hive for keys
- echo %CUR_DATE% %TIME% Looking in HKLM\software\classes\installer\products...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Looking in HKLM\software\classes\installer\products...
- reg query HKLM\software\classes\installer\products /f "J2SE Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\software\classes\installer\products /f "Java(TM) 6 Update" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\software\classes\installer\products /f "Java 7" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\software\classes\installer\products /f "Java*Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- :: Search the Add/Remove programs list (this helps with broken Java installations)
- echo %CUR_DATE% %TIME% Looking in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Looking in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall...
- reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /f "J2SE Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /f "Java(TM) 6 Update" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /f "Java 7" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /f "Java*Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- :: Search the Add/Remove programs list, x86/Wow64 node (this helps with broken Java installations)
- echo %CUR_DATE% %TIME% Looking in HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Looking in HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall...
- reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /f "J2SE Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /f "Java(TM) 6 Update" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /f "Java 7" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /f "Java*Runtime" /s | find "HKEY_LOCAL_MACHINE" >> %TEMP%\java_purge_registry_keys.txt
- :: List the leftover registry keys
- echo %CUR_DATE% %TIME% Found these keys...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Found these keys...
- echo.>> "%LOGPATH%\%LOGFILE%"
- echo.
- type %TEMP%\java_purge_registry_keys.txt>> "%LOGPATH%\%LOGFILE%"
- type %TEMP%\java_purge_registry_keys.txt
- echo.>> "%LOGPATH%\%LOGFILE%"
- echo.
- :: Backup the various registry keys that will get deleted (if they exist)
- :: We do this mainly because we're using wildcards, so we want a method to roll back if we accidentally nuke the wrong thing
- echo %CUR_DATE% %TIME% Backing up keys...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Backing up keys...
- if exist "%TEMP%\java_purge_registry_backup" rmdir /s /q "%TEMP%\java_purge_registry_backup" >NUL
- mkdir %TEMP%\java_purge_registry_backup >NUL
- :: This line walks through the file we generated and dumps each key to a file
- for /f "tokens=* delims= " %%a in (%TEMP%\java_purge_registry_keys.txt) do (reg query %%a) >> %TEMP%\java_purge_registry_backup\java_reg_keys_1.bak
- echo.
- echo %CUR_DATE% %TIME% Keys backed up to %TEMP%\java_purge_registry_backup\ >> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Keys backed up to %TEMP%\java_purge_registry_backup\
- echo %CUR_DATE% %TIME% This directory will be deleted at next reboot, so get it now if you need it! >> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% This directory will be deleted at next reboot, so get it now if you need it!
- :: Purge the keys
- echo %CUR_DATE% %TIME% Purging keys...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Purging keys...
- echo.
- :: This line walks through the file we generated and deletes each key listed
- for /f "tokens=* delims= " %%a in (%TEMP%\java_purge_registry_keys.txt) do reg delete %%a /va /f>> "%LOGPATH%\%LOGFILE%"
- :: These lines delete some specific Java locations
- :: ! These keys AREN'T backed up (as opposed to the ones above) because here we are specifically targeting known Java keys, whereas
- :: above we were nuking registry keys based on wildcard searches, so those need backups in case we nuke something we didn't want to.
- :: Delete keys for 32-bit Java installations on a 64-bit copy of Windows
- reg delete "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Auto Update" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Web Start" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\Wow6432Node\JreMetrics" /va /f>> "%LOGPATH%\%LOGFILE%"
- :: Delete keys for for 32-bit and 64-bit Java installations on matching Windows architecture
- reg delete "HKLM\SOFTWARE\JavaSoft\Auto Update" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\JavaSoft\Java Plug-in" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\JavaSoft\Java Update" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\JavaSoft\Java Web Start" /va /f>> "%LOGPATH%\%LOGFILE%"
- reg delete "HKLM\SOFTWARE\JreMetrics" /va /f>> "%LOGPATH%\%LOGFILE%"
- echo.
- echo %CUR_DATE% %TIME% Keys purged.>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Keys purged.
- echo %CUR_DATE% %TIME% Registry cleanup done.>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Registry cleanup done.
- echo.
- ::::::::::::::::::::::::::::::::
- :: FILE AND DIRECTORY CLEANUP ::
- ::::::::::::::::::::::::::::::::
- echo %CUR_DATE% %TIME% Commencing file and directory cleanup...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Commencing file and directory cleanup...
- :: Kill accursed Java tasks in Task Scheduler
- echo %CUR_DATE% %TIME% Removing Java tasks from the Windows Task Scheduler...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Removing Java tasks from the Windows Task Scheduler...
- echo.
- del /F /Q %WINDIR%\tasks\Java*.job>> "%LOGPATH%\%LOGFILE%"
- del /F /Q %WINDIR%\System32\tasks\Java*.job>> "%LOGPATH%\%LOGFILE%"
- del /F /Q %WINDIR%\SysWOW64\tasks\Java*.job>> "%LOGPATH%\%LOGFILE%"
- echo.
- :: Kill the accursed Java Quickstarter and Updater
- echo %CUR_DATE% %TIME% De-registering and removing Java Quickstarter and Updater...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% De-registering and removing Java Quickstarter and Updater...
- net stop JavaQuickStarterService>> "%LOGPATH%\%LOGFILE%"
- sc delete JavaQuickStarterService>> "%LOGPATH%\%LOGFILE%"
- net stop jusched>> "%LOGPATH%\%LOGFILE%"
- sc delete jusched>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles(x86)%\Java\jre6\bin\jqs.exe" -disable>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles(x86)%\Java\jre7\bin\jqs.exe" -disable>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles%\Java\jre6\bin\jqs.exe" -disable>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles%\Java\jre7\bin\jqs.exe" -disable>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles(x86)%\Java\jre6\bin\jqs.exe" -unregister>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles(x86)%\Java\jre7\bin\jqs.exe" -unregister>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles%\Java\jre6\bin\jqs.exe" -unregister>> "%LOGPATH%\%LOGFILE%"
- "%ProgramFiles%\Java\jre7\bin\jqs.exe" -unregister>> "%LOGPATH%\%LOGFILE%"
- msiexec.exe /x {4A03706F-666A-4037-7777-5F2748764D10} /qn /norestart
- echo.
- :: Nuke 32-bit Java installation directories
- echo %CUR_DATE% %TIME% Removing "%ProgramFiles(x86)%\Java\jre*" directories...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Removing "%ProgramFiles(x86)%\Java\jre*" directories...
- FOR /D /R "%ProgramFiles(x86)%\Java\" %%X IN (j2re*) DO RMDIR /S /Q "%%X">> "%LOGPATH%\%LOGFILE%"
- FOR /D /R "%ProgramFiles(x86)%\Java\" %%X IN (jre*) DO RMDIR /S /Q "%%X">> "%LOGPATH%\%LOGFILE%"
- rmdir /S /Q "%ProgramFiles(x86)%\JavaSoft\JRE">> "%LOGPATH%\%LOGFILE%"
- :: Nuke 64-bit Java installation directories
- echo %CUR_DATE% %TIME% Removing "%ProgramFiles%\Java\jre*" directories...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Removing "%ProgramFiles%\Java\jre*" directories...
- FOR /D /R "%ProgramFiles%\Java\" %%X IN (j2re*) DO RMDIR /S /Q "%%X">> "%LOGPATH%\%LOGFILE%"
- FOR /D /R "%ProgramFiles%\Java\" %%X IN (jre*) DO RMDIR /S /Q "%%X">> "%LOGPATH%\%LOGFILE%"
- rmdir /S /Q "%ProgramFiles%\JavaSoft\JRE">> "%LOGPATH%\%LOGFILE%"
- :: Miscellaneous stuff, sometimes left over by the installers
- echo %CUR_DATE% %TIME% Searching for and purging other Java Runtime-related directories...>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Searching for and purging other Java Runtime-related directories...
- echo.
- del /F /Q %SystemDrive%\1033.mst>> "%LOGPATH%\%LOGFILE%"
- del /F /S /Q "%SystemDrive%\J2SE Runtime Environment*">> "%LOGPATH%\%LOGFILE%"
- echo.
- :: Done.
- echo %CUR_DATE% %TIME% File and directory cleanup done.>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% File and directory cleanup done.
- echo. >> "%LOGPATH%\%LOGFILE%"
- echo.
- echo %CUR_DATE% %TIME% JAVA NUKER COMPLETE. Recommend rebooting and washing your hands.>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% JAVA NUKER COMPLETE. Recommend rebooting and washing your hands.
- echo %CUR_DATE% %TIME% Registry hive backups: %TEMP%\java_purge_registry_backup\>> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Registry hive backups: %TEMP%\java_purge_registry_backup\
- echo %CUR_DATE% %TIME% Log file: "%LOGPATH%\%LOGFILE%">> "%LOGPATH%\%LOGFILE%"
- echo %CUR_DATE% %TIME% Log file: "%LOGPATH%\%LOGFILE%"
- :: Return exit code to SCCM/PDQ Deploy/Psexec/etc
- pause
- exit /B %EXIT_CODE%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement