火狐浏览器下载完成后自动关机需借助系统工具实现:一、windows任务计划程序监听下载目录变动;二、批处理脚本轮询检测最新文件;三、powershell filesystemwatcher实时监听;四、download notifier扩展调用关机命令;五、linux下systemd配合inotifywait监控。

如果您在使用火狐浏览器时希望下载完成后自动关机,但发现浏览器本身不提供“下载完成关机”功能,则需借助系统级工具或命令行方式实现该行为。以下是多种可行的操作方法:
一、使用Windows任务计划程序配合下载完成检测
该方法通过监听火狐浏览器下载目录的文件变动,结合系统时间与文件创建事件触发关机指令,无需修改浏览器配置,稳定性高。
1、确定火狐浏览器当前默认下载路径:点击右上角三横线菜单→设置→常规→文件与应用程序→下载→查看“保存文件到”右侧显示的路径。
2、按 Win + R 输入 taskschd.msc 打开任务计划程序。
3、点击“创建基本任务”,命名为“Firefox下载完成关机”,设置触发器为“当特定事件被记录时”,日志选择“Application”,来源选择“DownloadManager”,事件ID留空(后续用脚本判断)。
4、操作步骤选择“启动程序”,程序填写 shutdown.exe,参数填写 /s /t 0(立即关机)。
5、在“条件”选项卡中取消勾选“只有在计算机使用交流电源时才启动此任务”(如需电池模式也生效)。
二、通过批处理脚本轮询检测下载目录并执行关机
该方法适用于无法启用事件日志或权限受限环境,利用定时检查目标文件夹内最新文件的修改时间,判断下载是否结束。
1、新建文本文档,输入以下内容(以下载路径为 D:\Downloads 为例):
@echo off setlocal enabledelayedexpansion :set "DL_DIR=D:\Downloads" :check for /f "delims=" %%i in ('dir /b /o-d "%DL_DIR%" 2^>nul ^| findstr /v "\."') do (set "latest=%%i" & goto :found) goto :wait :found for /f "tokens=1-2 delims=:" %%a in ('powershell -command "(Get-Item '%DL_DIR%\!latest!').LastWriteTime.ToString('HH:mm')"') do (set "hour=%%a" & set "min=%%b") if !min! lss 10 set "min=0!min!" set /a "now_min=%time:~3,2%" if !now_min! gtr !min! shutdown /s /t 0 :wait timeout /t 30 >nul goto check
2、将文件另存为 watch_download.bat,编码选择 ANSI 或 UTF-8 无 BOM。
3、双击运行该批处理文件,它将在后台每30秒检查一次下载目录,若检测到新文件且最后修改时间距当前不足10秒,则执行关机。
三、利用PowerShell脚本监听文件系统变更事件
该方法基于.NET FileSystemWatcher类实时捕获文件创建动作,响应速度快、资源占用低,适合高频下载场景。
1、新建文本文件,粘贴以下PowerShell代码(请将 C:\Users\YourName\Downloads 替换为实际下载路径):
$path = "C:\Users\YourName\Downloads" $filter = "*.*" $fsw = New-Object IO.FileSystemWatcher $path, $filter $fsw.IncludeSubdirectories = $false $fsw.EnableRaisingEvents = $true $action = { $name = $Event.SourceEventArgs.Name $changeType = $Event.SourceEventArgs.ChangeType $timeStamp = Get-Date Write-Host "文件 '$name' 已 $changeType at $timeStamp" if ($changeType -eq 'Created') { Start-Sleep -Seconds 5 shutdown /s /t 0 } } Register-ObjectEvent $fsw Created -Action $action | Out-Null while ($true) { Start-Sleep -Seconds 60 }
2、将文件保存为 auto_shutdown.ps1。
3、以管理员身份运行 PowerShell,执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 允许本地脚本运行。
4、再执行 .\auto_shutdown.ps1 启动监听。
四、通过火狐浏览器扩展配合外部工具实现
该方法依赖第三方扩展获取下载完成通知,并调用外部可执行程序执行关机,需额外安装组件但操作界面友好。
1、访问 https://addons.mozilla.org/zh-CN/firefox/addon/download-notifier/ 安装 Download Notifier 扩展。
2、安装后点击扩展图标→设置→勾选“当下载完成时运行命令”。
3、在命令栏中输入:cmd /c shutdown /s /t 0。
4、保存设置,此后每次下载完成均会触发系统关机指令。
五、使用Linux系统下的systemd路径监控服务(仅限Firefox Linux版)
该方法适用于使用Firefox桌面版的Linux用户,通过inotifywait持续监控下载目录,避免轮询开销,符合Unix哲学。
1、确保已安装 inotify-tools:sudo apt install inotify-tools(Debian/Ubuntu)或 sudo dnf install inotify-tools(Fedora)。
2、创建服务文件 /etc/systemd/system/firefox-download-shutdown.service,内容如下:
[Unit] Description=Shutdown after Firefox download After=multi-user.target [Service] Type=oneshot ExecStart=/usr/bin/bash -c 'inotifywait -m -e create /home/username/Downloads | while read path action file; do sleep 2; shutdown -h now; done' User=username [Install] WantedBy=multi-user.target
3、替换其中 username 为实际用户名,并确认下载路径一致。
4、执行 sudo systemctl daemon-reload && sudo systemctl enable firefox-download-shutdown.service && sudo systemctl start firefox-download-shutdown.service 启用服务。










