ADD-ADB-TO-PATH.BAT 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. @echo off
  2. chcp 65001 >nul
  3. setlocal EnableDelayedExpansion
  4. :: 检查是否以管理员身份运行
  5. net session >nul 2>&1
  6. if %errorLevel% neq 0 (
  7. echo ========================================
  8. echo Error: This script requires administrator privileges
  9. echo ========================================
  10. echo.
  11. echo Please right-click and select "Run as administrator"
  12. pause
  13. exit /b 1
  14. )
  15. echo ========================================
  16. echo Add ADB to System PATH
  17. echo ========================================
  18. echo.
  19. set ADB_PATH=C:\Users\GIGABYTE\AppData\Local\Android\Sdk\platform-tools
  20. :: 检查 ADB 路径是否存在
  21. if not exist "%ADB_PATH%" (
  22. echo Error: ADB path does not exist: %ADB_PATH%
  23. echo.
  24. pause
  25. exit /b 1
  26. )
  27. echo ADB Path: %ADB_PATH%
  28. echo.
  29. :: 获取当前系统 PATH
  30. for /f "tokens=2*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH 2^>nul') do set "CURRENT_PATH=%%B"
  31. :: 检查 PATH 中是否已包含 ADB 路径
  32. echo %CURRENT_PATH% | findstr /C:"%ADB_PATH%" >nul
  33. if %errorLevel% equ 0 (
  34. echo ADB path is already in system PATH
  35. echo.
  36. echo Current PATH contains: %ADB_PATH%
  37. echo.
  38. pause
  39. exit /b 0
  40. )
  41. echo Adding ADB path to system PATH...
  42. echo.
  43. :: 添加 ADB 路径到系统 PATH
  44. setx PATH "%CURRENT_PATH%;%ADB_PATH%" /M >nul 2>&1
  45. if %errorLevel% neq 0 (
  46. echo Error: Failed to add ADB path to system PATH
  47. echo.
  48. echo Trying alternative method...
  49. :: 使用 reg 命令直接修改注册表
  50. reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH /t REG_EXPAND_SZ /d "%CURRENT_PATH%;%ADB_PATH%" /f >nul 2>&1
  51. if %errorLevel% neq 0 (
  52. echo Error: Failed to modify system PATH
  53. pause
  54. exit /b 1
  55. )
  56. :: 广播环境变量更改
  57. call :BroadcastEnvironmentChange
  58. echo Success: ADB path added to system PATH (using registry method)
  59. ) else (
  60. echo Success: ADB path added to system PATH
  61. )
  62. echo.
  63. echo ========================================
  64. echo Important Notes:
  65. echo ========================================
  66. echo 1. You may need to restart your command prompt
  67. echo 2. Or restart your computer for changes to take effect
  68. echo 3. To verify, open a new command prompt and run: adb version
  69. echo.
  70. echo ========================================
  71. echo Verification
  72. echo ========================================
  73. echo.
  74. echo Testing ADB command...
  75. "%ADB_PATH%\adb.exe" version >nul 2>&1
  76. if %errorLevel% equ 0 (
  77. echo ADB is working correctly at: %ADB_PATH%
  78. ) else (
  79. echo Warning: ADB command test failed
  80. echo Please verify the path is correct
  81. )
  82. echo.
  83. pause
  84. exit /b 0
  85. :BroadcastEnvironmentChange
  86. :: 广播环境变量更改消息
  87. set "HWND_BROADCAST=0xFFFF"
  88. set "WM_SETTINGCHANGE=0x001A"
  89. powershell -Command "[System.Environment]::SetEnvironmentVariable('PATH', [System.Environment]::GetEnvironmentVariable('PATH', 'Machine'), 'Machine')" >nul 2>&1
  90. exit /b