slyfox1186

backup-windows-path-variables.bat

Oct 2nd, 2021 (edited)
447
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.65 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  3. COLOR 0A
  4. TITLE EXPORT PATH TO REGISTRY FILES IN CURRENT DIRECTORY
  5.  
  6. :----------------------------------------------------------------------------------
  7.  
  8. REM BY: SlyFox1186
  9. REM PROFILE: https://pastebin.com/u/slyfox1186
  10.  
  11. REM QUICKLY BACKUP THE CURRENT WINDOWS PATH VARIABLES BY CREATING
  12. REM THREE REGISTRY FILES IN THE SAME DIRECTORY AS THIS SCRIPT.
  13.  
  14. REM THE .REG FILES CREATED WILL BE:
  15. REM USER PATH
  16. REM MACHINE PATH
  17. REM USER + MACHINE PATH
  18.  
  19. :----------------------------------------------------------------------------------
  20.  
  21. REM OPEN CMD WINDOW MAXIMIZED IF NOT CURRENTLY
  22. PUSHD "%~dp0"
  23. IF NOT "%1"=="MIN" START /MIN CMD /D /C %0 MIN & GOTO :EOF
  24.  
  25. :---------------------------------------------------------------------------
  26.  
  27. REM CHANGE THIS VARIABLE TO SUIT YOUR NEEDS
  28. SET EDITOR="%ProgramFiles%\Notepad++\notepad++.exe"
  29.  
  30. :---------------------------------------------------------------------------
  31.  
  32. REM DELETE ANY LEFTOVER FILES FROM PERVIOUS RUNS
  33. IF EXIST "*.reg" DEL /Q "*.reg"
  34.  
  35. :----------------------------------------------------------------------------------
  36.  
  37. REM USE WMIC COMMAND TO QUERY THE CURRENT DATE AND TIME
  38. FOR /F "SKIP=1" %%G IN ('WMIC OS GET LOCALDATETIME') DO SET "time=%%G" & GOTO SET_VARS
  39.  
  40. :----------------------------------------------------------------------------------
  41.  
  42. :SET_VARS
  43. REM SET CURRENT TIME VARIABLES
  44. SET "HOURS=%time:~8,2%"
  45. SET "MINS=%time:~10,2%"
  46. SET "SECS=%time:~12,2%"
  47. REM SET TODAY'S DATE VARIABLE
  48. SET "DAY=%time:~6,2%"
  49. SET "MONTH=%time:~4,2%"
  50. SET "YEAR=%time:~2,2%"
  51. REM ADD EXTRA ZERO TO THE HOURS VARIABLE IF A SINGLE DIGIT IS INITIALLY FOUND
  52. IF "!HOURS!" GTR "11" (SET /A "HOURS-=12" & SET "AP=PM" & IF "!HOURS!"=="0" (SET "HOURS=00") ELSE (IF "!HOURS!" LEQ "9" (SET "HOURS=0!HOURS!"))) ELSE (SET "AP=AM")
  53. SET "TODAY=%MONTH%.%DAY%.%YEAR%_!HOURS!.%MINS%.%SECS%.%AP%"
  54.  
  55. :---------------------------------------------------------------------------
  56.  
  57. REM SET REGISTRY PATHS TO QUERY VARIABLES
  58. SET "USER=HKCU\Environment"
  59. SET "MACHINE=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  60.  
  61. :---------------------------------------------------------------------------
  62.  
  63. REM STORE REGISTRY VALUES IN REG FILES
  64. REG EXPORT "%USER%" "01-USER_%TODAY%.reg"
  65. REG EXPORT "%MACHINE%" "02-MACHINE_%TODAY%.reg"
  66.  
  67. :---------------------------------------------------------------------------
  68.  
  69. REM COMBINE 'USER' AND 'MACHINE' REG FILES
  70. COPY /V /Y "*.reg" "03-COMBINED_%TODAY%.reg"
  71.  
  72. :---------------------------------------------------------------------------
  73.  
  74. REM OPEN THE NEWLY CREATED REG FILE IN YOUR EDITOR OF CHOICE
  75. START "" /MAX %EDITOR% "*.reg"
Add Comment
Please, Sign In to add comment