IDM取消更新制作
|
预计 6 min read
起因
查找方法
网上有很多方法进行教程的讲解,但是对于我,翻注册表是一个很繁琐的过程。
但是有强大的 GPT 以及 Cursor,于是就把网上的一些教程链接直接投喂给 Cursor 帮助我直接进行脚本的编写
对此就有了下面的完整代码
1@echo off2chcp 65001 >nul3echo ====================================4echo IDM自动更新停止工具5echo ====================================6echo.7
8REM 检查管理员权限9net session >nul 2>&110if %errorLevel% == 0 (11 echo [√] 已获得管理员权限12) else (13 echo [×] 需要管理员权限运行此脚本14 echo 请右键点击此文件,选择"以管理员身份运行"15 pause16 exit /b 117)18
19echo.20echo 正在停止IDM相关进程...21
22REM 停止IDM主进程23taskkill /f /im "IDMan.exe" >nul 2>&124if %errorLevel% == 0 (25 echo [√] IDM主程序已停止26) else (27 echo [!] IDM主程序未运行或已停止28)29
30REM 停止IDM更新进程31taskkill /f /im "IDMUpdate.exe" >nul 2>&132if %errorLevel% == 0 (33 echo [√] IDM更新程序已停止34) else (35 echo [!] IDM更新程序未运行或已停止36)37
38REM 停止IDM服务相关进程39taskkill /f /im "IDMHelper.exe" >nul 2>&140if %errorLevel% == 0 (41 echo [√] IDM助手程序已停止42) else (43 echo [!] IDM助手程序未运行或已停止44)45
46echo.47echo 正在禁用IDM自动更新功能...48
49REM 查找IDM安装目录50set "IDM_PATH="51for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\DownloadManager" /v "ExePath" 2^>nul') do (52 set "IDM_PATH=%%b"53)54
55if not defined IDM_PATH (56 REM 尝试从32位注册表查找57 for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\DownloadManager" /v "ExePath" 2^>nul') do (58 set "IDM_PATH=%%b"59 )60)61
62if defined IDM_PATH (63 for %%i in ("%IDM_PATH%") do set "IDM_DIR=%%~dpi"64 echo [√] 找到IDM安装目录: !IDM_DIR!65
66 REM 重命名更新程序文件67 if exist "!IDM_DIR!IDMUpdate.exe" (68 ren "!IDM_DIR!IDMUpdate.exe" "IDMUpdate.exe.bak" >nul 2>&169 if %errorLevel% == 0 (70 echo [√] 已禁用IDM更新程序71 ) else (72 echo [!] 无法重命名更新程序,可能正在使用中73 )74 ) else (75 echo [!] 未找到IDM更新程序文件76 )77
78 REM 创建空的更新程序文件防止自动下载79 echo. > "!IDM_DIR!IDMUpdate.exe" 2>nul80 if %errorLevel% == 0 (81 echo [√] 已创建空的更新程序文件82 )83
84) else (85 echo [×] 未找到IDM安装目录,请手动操作86)87
88echo.89echo 正在修改注册表禁用自动更新...90
91REM 禁用自动检查更新92reg add "HKEY_CURRENT_USER\SOFTWARE\DownloadManager" /v "CheckForUpdates" /t REG_DWORD /d 0 /f >nul 2>&193if %errorLevel% == 0 (94 echo [√] 已禁用自动检查更新95) else (96 echo [!] 修改注册表失败97)98
99REM 禁用更新提醒100reg add "HKEY_CURRENT_USER\SOFTWARE\DownloadManager" /v "UpdateReminder" /t REG_DWORD /d 0 /f >nul 2>&1101if %errorLevel% == 0 (102 echo [√] 已禁用更新提醒103)104
105REM 设置更新检查间隔为最大值106reg add "HKEY_CURRENT_USER\SOFTWARE\DownloadManager" /v "UpdateCheckInterval" /t REG_DWORD /d 999999 /f >nul 2>&1107if %errorLevel% == 0 (108 echo [√] 已设置更新检查间隔为最大值109)110
111echo.112echo 正在阻止IDM更新服务器连接...113
114REM 修改hosts文件阻止更新服务器115set "HOSTS_FILE=%SystemRoot%\System32\drivers\etc\hosts"116findstr /c "# IDM Update Block" "%HOSTS_FILE%" >nul 2>&1117if %errorLevel% neq 0 (118 echo. >> "%HOSTS_FILE%"119 echo # IDM Update Block >> "%HOSTS_FILE%"120 echo 127.0.0.1 update.internetdownloadmanager.com >> "%HOSTS_FILE%"121 echo 127.0.0.1 www.internetdownloadmanager.com >> "%HOSTS_FILE%"122 echo 127.0.0.1 secure.internetdownloadmanager.com >> "%HOSTS_FILE%"123 echo 127.0.0.1 mirror.internetdownloadmanager.com >> "%HOSTS_FILE%"124 echo [√] 已阻止IDM更新服务器连接125) else (126 echo [!] hosts文件已包含IDM更新阻止规则127)128
129echo.130echo ====================================131echo 操作完成132echo ====================================133echo.134echo 已完成以下操作:135echo 1. 停止IDM相关进程136echo 2. 禁用IDM更新程序137echo 3. 修改注册表禁用自动更新138echo 4. 阻止IDM更新服务器连接139echo.140echo 注意事项:141echo - 如需恢复自动更新,请删除hosts文件中的IDM相关条目142echo - 如需恢复更新程序,请将IDMUpdate.exe.bak重命名为IDMUpdate.exe143echo - 建议定期手动检查IDM版本更新144echo.145echo 按任意键退出...146pause >nul147exit /b 0
使用方法
-
将上面的代码直接复制到一个空白文件中
-
将文件命名后缀为
.bat
-
右键点击文件,使用
管理员
进行执行
注意: 目前我使用的时候没有出现问题,不代表永远都没有问题,截止当前时间 2025-06-25 21:06:27是正常使用的