如何通过Windows任务计划程序在Edge下载文件时自动执行Python脚本
方案1:Windows任务计划程序 + 下载目录变动监听(无需额外配置浏览器,易上手)
该方案依赖监听Edge默认下载目录的文件新增事件实现触发,适合固定下载目录的场景,操作门槛低。
- 第一步:确认Edge的默认下载目录,默认路径为
C:\Users\你的系统用户名\Downloads,可自行在Edge设置中确认或修改 - 第二步:新建监听脚本,将以下内容保存为
watch_download.ps1(PowerShell脚本),替换代码中对应的下载目录路径和Python脚本路径:
# 实例化目录监听器 $watcher = New-Object System.IO.FileSystemWatcher # 替换为你的Edge默认下载目录路径 $watcher.Path = "C:\Users\xxx\Downloads" $watcher.Filter = "*.*" $watcher.IncludeSubdirectories = $false $watcher.EnableRaisingEvents = $true $action = { $path = $Event.SourceEventArgs.FullPath # 跳过Edge下载中的临时文件 if ($path.EndsWith(".crdownload")) { return } # 等待文件完全写入,避免下载未完成就触发 while (1) { try { $fileStream = [System.IO.File]::Open($path, 'Open', 'Read', 'None') $fileStream.Close() break } catch { Start-Sleep -Milliseconds 500 } } # 替换为你的Python脚本实际路径,$path参数为刚下载完成的文件路径,可根据需要传给脚本 python.exe "C:\xxx\你的脚本.py" $path } # 绑定文件新增事件 Register-ObjectEvent $watcher "Created" -Action $action # 保持脚本后台运行 while ($true) {Start-Sleep 5}
- 第三步:打开Windows任务计划程序,点击右侧「创建任务」:
- 「常规」选项卡:填写任务名称,可勾选「隐藏」选项避免运行时弹出黑框
- 「触发器」选项卡:新建触发器,开始任务选择「登录时」
- 「操作」选项卡:新建操作,操作选「启动程序」,程序或脚本填
powershell.exe,添加参数填-WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\xxx\watch_download.ps1"(替换为你自己的监听脚本路径) - 保存任务后可手动运行一次测试,后续系统登录后会自动后台运行监听逻辑
- 注意:该方案会被其他程序写入下载目录的文件触发,如果你需要完全排除误触发的情况,可使用方案2。
方案2:Edge扩展监听原生下载事件(无目录限制,无误触发)
该方案直接调用Edge的下载事件API,不管你把文件下载到哪个目录都会触发,不会被其他程序的文件操作干扰,准确率100%。
- 第一步:新建一个文件夹作为扩展存放目录,比如命名为
edge_download_trigger - 第二步:在文件夹内新建
manifest.json文件,内容如下:
{ "manifest_version": 3, "name": "下载完成触发工具", "version": "1.0", "permissions": ["downloads", "nativeMessaging"], "background": { "service_worker": "background.js" } }
- 第三步:同目录下新建
background.js文件,内容如下:
// 监听下载状态变更事件 chrome.downloads.onChanged.addListener(function(downloadDelta) { // 仅在下载完成时触发 if (downloadDelta.state && downloadDelta.state.current === "complete") { // 调用本地原生消息主机执行Python脚本,需要先配置Windows原生消息主机规则 chrome.runtime.sendNativeMessage( "com.custom.downloadtrigger", {filePath: downloadDelta.filename.current}, function() {} ); } });
- 第四步:在Edge扩展管理页面开启开发者模式,点击「加载已解压的扩展程序」选择刚才创建的扩展目录
- 第五步:配置Windows原生消息主机注册表规则,允许该扩展调用本地Python脚本,配置完成后即可实现所有Edge下载完成事件自动触发脚本运行。
内容的提问来源于stack exchange,提问作者Leeuw
相关产品推荐
相关产品推荐

