anchor.diff:  	sc delete JavaQuickStarterService >> "%LOGPATH%\%LOGFILE%" 2>NUL
   )
   
  -:: Kill the accursed Java Update Scheduler service
  +:: Kill the Java Update Scheduler service
   sc query jusched >NUL
   if not %ERRORLEVEL%==1060 (
   	call :log "%CUR_DATE% %TIME%   De-registering and removing Java Update Scheduler service..."
   	net stop jusched >> "%LOGPATH%\%LOGFILE%" 2>NUL
   	sc delete jusched >> "%LOGPATH%\%LOGFILE%" 2>NUL
   )
  +
  +:: Kill any leftover binaries in the Windows system folders
  +if exist %WINDIR%\System32\java.exe del /F /Q %WINDIR%\System32\java.exe >> "%LOGPATH%\%LOGFILE%"
  +if exist %WINDIR%\System32\javaw.exe del /F /Q %WINDIR%\System32\javaw.exe >> "%LOGPATH%\%LOGFILE%"
  +if exist %WINDIR%\System32\javaws.exe del /F /Q %WINDIR%\System32\javaws.exe >> "%LOGPATH%\%LOGFILE%"
  +if exist %WINDIR%\SysWOW64\java.exe del /F /Q %WINDIR%\SysWOW64\java.exe >> "%LOGPATH%\%LOGFILE%"
  +if exist %WINDIR%\SysWOW64\javaw.exe del /F /Q %WINDIR%\SysWOW64\javaw.exe >> "%LOGPATH%\%LOGFILE%"
  +if exist %WINDIR%\SysWOW64\javaws.exe del /F /Q %WINDIR%\SysWOW64\javaws.exe >> "%LOGPATH%\%LOGFILE%" 
   
   :: This is the Oracle method of disabling the Java services. 99% of the time these commands aren't required and will just throw an error message.
   if exist "%ProgramFiles(x86)%\Java\jre6\bin\jqs.exe" "%ProgramFiles(x86)%\Java\jre6\bin\jqs.exe" -disable>> "%LOGPATH%\%LOGFILE%" 2>NUL
  
positive.code: call :log "%CUR_DATE% %TIME%   Beginning removal of Java Runtime Environments (series 3-8, x86 and x64) and JavaFX..."
  
  :: Do a quick check to make sure WMI is working, and if not, repair it
  wmic timezone >NUL
  if not %ERRORLEVEL%==0 (
      call :log "%CUR_DATE% %TIME% ! WMI appears to be broken. Running WMI repair. This might take a minute, please be patient..."
      net stop winmgmt
  
negative.code: 
  
  :::::::::::::::::::::::::
  :: UNINSTALLER SECTION :: -- Here we brute-force every "normal" method for removing
  :::::::::::::::::::::::::    Java, then resort to more painstaking methods later
  call :log "%CUR_DATE% %TIME%   Targeting individual JRE versions..."
  call :log "%CUR_DATE% %TIME%   This might take a few minutes. Don't close this window."
  
  :: EXPOSITION DUMP: OK, so all JRE runtimes (series 4-9) use certain GUIDs that increment with each new update (e.g. Update 66)
  :: This makes it easy to catch them through liberal use of WMI wildcards ("_" is single character, "%" is any number of characters)
  :: Additionally, JRE 6 introduced 64-bit runtimes, so in addition to the two-digit Update XX revision number, we also check for the architecture
  :: type, which always equals '32' or '64'. The first wildcard is the architecture, the second is the revision/update number.
  :: Beginning with JRE versions over 99 (JRE8 was first major version to have subversions go over 99), the GUID string "2F8__", which identified architecture, switched to "2F__", presumably to make room for the new 3rd digit in the version identifying section. You can see this in the JRE8 portion below.
  
  :: JRE 9
  call :log "%CUR_DATE% %TIME%   JRE 9..."
  :: Wildcards aren't used here (yet) because we don't know which portion of the GUID will change with the first "Update xx" release.
  :: Script will be updated when the first Update to series 9 is released by Oracle
  %WMIC% product where "IdentifyingNumber like '{DA69628A-2608-5BA9-8749-1EE90CB29D95}'" call uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%"
  %WMIC% product where "name like 'Java 9%%'" uninstall /nointeractive
  
  :: JRE 8
  call :log "%CUR_DATE% %TIME%   JRE 8..."
  %WMIC% product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F8__180__F_}'" call uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%"
  :: This line catches any version above 99 since it's three characters instead of two. Oracle also dropped the "8" from
  :: the last part of the GUID, so instead of "2F8__" it's now "2F__", presumably to make room for the 3rd digit on the right
  %WMIC% product where "IdentifyingNumber like '{26A24AE4-039D-4CA4-87B4-2F__180___F_}'" call uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%"
  
  :: JRE 7
  call :log "%CUR_DATE% %TIME%   JRE 7..."
  