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是正常使用的