claustromaniac 7 年之前
父節點
當前提交
74f18db85a
共有 1 個文件被更改,包括 14 次插入12 次删除
  1. 14 12
      prefsCleaner.bat

+ 14 - 12
prefsCleaner.bat

@@ -3,7 +3,7 @@ TITLE prefs.js cleaner
 
 
 REM ### prefs.js cleaner for Windows
 REM ### prefs.js cleaner for Windows
 REM ## author: @claustromaniac
 REM ## author: @claustromaniac
-REM ## version: 1.0
+REM ## version: 1.1
 
 
 SETLOCAL EnableDelayedExpansion
 SETLOCAL EnableDelayedExpansion
 :begin
 :begin
@@ -12,7 +12,7 @@ ECHO:
 ECHO                 ########################################
 ECHO                 ########################################
 ECHO                 ####  prefs.js cleaner for Windows  ####
 ECHO                 ####  prefs.js cleaner for Windows  ####
 ECHO                 ####    author: @claustromaniac     ####
 ECHO                 ####    author: @claustromaniac     ####
-ECHO                 ####          version: 1.0          ####
+ECHO                 ####          version: 1.1          ####
 ECHO                 ########################################
 ECHO                 ########################################
 ECHO:
 ECHO:
 CALL :message "This script should be run from your Firefox profile directory."
 CALL :message "This script should be run from your Firefox profile directory."
@@ -20,19 +20,20 @@ ECHO   It will remove any entries from prefs.js that also exist in user.js.
 CALL :message "This will allow inactive preferences to be reset to their default values."
 CALL :message "This will allow inactive preferences to be reset to their default values."
 ECHO   This Firefox profile shouldn't be in use during the process.
 ECHO   This Firefox profile shouldn't be in use during the process.
 CALL :message ""
 CALL :message ""
+TIMEOUT 1 /nobreak >nul
 CHOICE /C SHE /N /M "Start [S] Help [H] Exit [E]"
 CHOICE /C SHE /N /M "Start [S] Help [H] Exit [E]"
 CLS
 CLS
-IF ERRORLEVEL 3 ( EXIT /B )
-IF ERRORLEVEL 2 ( GOTO :showhelp )
-IF NOT EXIST "user.js" ( CALL :abort "user.js not found in the current directory." 30 )
-IF NOT EXIST "prefs.js" ( CALL :abort "prefs.js not found in the current directory." 30 )
+IF ERRORLEVEL 3 (EXIT /B)
+IF ERRORLEVEL 2 (GOTO :showhelp)
+IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30)
+IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30)
 CALL :FFcheck
 CALL :FFcheck
 CALL :message "Backing up prefs.js..."
 CALL :message "Backing up prefs.js..."
 COPY /B /V /Y prefs.js "prefs-backup-!date:/=-!_!time::=.!.js"
 COPY /B /V /Y prefs.js "prefs-backup-!date:/=-!_!time::=.!.js"
 CALL :message "Cleaning prefs.js...
 CALL :message "Cleaning prefs.js...
 CALL :cleanup
 CALL :cleanup
 CLS
 CLS
-CALL :message "All done."
+CALL :message "All done^!"
 TIMEOUT 5 >nul
 TIMEOUT 5 >nul
 EXIT /B
 EXIT /B
 
 
@@ -43,9 +44,11 @@ TIMEOUT %~2 >nul
 EXIT
 EXIT
 REM ########## Message Function #########
 REM ########## Message Function #########
 :message
 :message
+SETLOCAL DisableDelayedExpansion
 ECHO:
 ECHO:
 ECHO:  %~1
 ECHO:  %~1
 ECHO:
 ECHO:
+ENDLOCAL
 GOTO :EOF
 GOTO :EOF
 REM ####### Firefox Check Function ######
 REM ####### Firefox Check Function ######
 :FFcheck
 :FFcheck
@@ -54,9 +57,7 @@ IF NOT ERRORLEVEL 1 (
 	CLS
 	CLS
 	CALL :message "Firefox is still running."
 	CALL :message "Firefox is still running."
 	ECHO   If you're not currently using this profile you can continue, otherwise
 	ECHO   If you're not currently using this profile you can continue, otherwise
-	ECHO:
-	ECHO   close Firefox first^^!
-	ECHO:
+	CALL :message "close Firefox first^!"
 	ECHO:
 	ECHO:
 	PAUSE
 	PAUSE
 	CLS
 	CLS
@@ -68,12 +69,13 @@ REM ######### Cleanup Function ##########
 :cleanup
 :cleanup
 SETLOCAL DisableDelayedExpansion
 SETLOCAL DisableDelayedExpansion
 (
 (
-	FOR /F "tokens=1,* delims=:" %%G IN ( 'FINDSTR /N "^" prefs.js' ) DO (
+	FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
 		SET "_line=%%H"
 		SET "_line=%%H"
 		SETLOCAL EnableDelayedExpansion
 		SETLOCAL EnableDelayedExpansion
 		SET "_pref=!_line: =!"
 		SET "_pref=!_line: =!"
+                SET "_pref=!_line:	=!"
 		IF /I "user_pref"=="!_pref:~0,9!" (
 		IF /I "user_pref"=="!_pref:~0,9!" (
-			FOR /F "delims=," %%X IN ("!_pref!") DO ( SET "_pref=%%X" )
+			FOR /F "delims=," %%X IN ("!_pref!") DO (SET "_pref=%%X")
 			SET _pref=!_pref:"=""!
 			SET _pref=!_pref:"=""!
 			FIND /I "!_pref!" user.js >nul
 			FIND /I "!_pref!" user.js >nul
 			IF ERRORLEVEL 1 (
 			IF ERRORLEVEL 1 (