如何为特定网站在谷歌浏览器中单独指定下载文件夹?

功能定位:为什么“按站点分配下载路径”值得讨论
在数据留存要求高的场景(如金融、医疗、教育采购),审计员常要求“同一来源文件必须落在独立目录,且不得与用户私人文档混合”。Chrome 默认只提供全局下载路径,无法按域名自动分流,导致事后人工分拣成本高。本文围绕“如何逼近站点级隔离”展开,给出合规、可回退、可验证的折中方案,并明确边界:目前官方尚未开放原生站点规则,所有方案均属于“扩展层或系统层补救”。
原生能力盘点:Chrome 128 提供了哪些官方入口
桌面端
设置 → 下载内容 → 位置(Settings → Downloads → Location)只能设定唯一目录;开关“下载前询问每个文件的保存位置”可临时弹窗,但无法记住“按站点”偏好。
Android/iOS
设置 → 下载内容 → 下载位置仅能在“设备存储 / SD 卡”之间二选一;系统沙盒限制,扩展不可用。
经验性观察:Chrome 128 未在 DevTools 协议中新增 DownloadDomain 的站点字段,意味着企业策略模板(ADMX)同样只能统一下载目录,无法按域名下发。
最短可达路径:用“扩展+命名规则”实现可审计分流
Step 1 安装开源扩展(示例:"Download Router")
- 在 Chrome Web Store 搜索“Download Router”(MIT 协议,代码可审计)。
- 安装后点击图标 → 选项,进入规则编辑器。
Step 2 建立“域名→子目录”映射
在扩展规则页点击“新增”:
- 条件类型:URL Host;值:supplier.example.com
- 动作:移动到子文件夹;路径:%USERPROFILE%/Downloads/compliance/supplier_example
- 冲突解决:若已存在同名文件,选择“附加 (1)/(2) 序号”,避免覆盖导致哈希不一致。
Step 3 开启“下载后自动扫描”增强合规
在同一扩展面板勾选“下载完成后运行脚本”,输入:
powershell -ExecutionPolicy Bypass -File "C:\scripts\hash_and_log.ps1" -Folder "supplier_example"
该脚本负责计算 SHA-256 并写入 CSV,供后续审计导入。
平台差异与回退方案
| 平台 | 是否支持扩展 | 回退方式 |
|---|---|---|
| Windows/macOS/Linux | ✅ | 扩展管理页一键禁用;下载目录立即恢复全局默认。 |
| Android | ❌ | 需借助系统级“下载管理器”+ Termux 脚本,操作复杂且需 ADB 授权,不推荐。 |
| iOS | ❌ | 文件 App 沙盒无法拦截 Chrome 下载,建议改用“快捷指令”手动分拣。 |
例外与副作用:哪些场景不该用
- 高敏感零信任环境:扩展需要“读取和更改您访问的所有网站数据”权限,可能被 SOC 判定为高风险。若企业已启用 BeyondCorp Enterprise,扩展 ID 需提前加入白名单。
- 大文件并行下载:经验性观察,当单任务 >2 GB 且并发 5 个以上时,扩展的“移动”动作可能抢在系统写入完成前触发,导致 .crdownload 残留。缓解:在规则中增加“延迟 10 秒”动作。
- 中文路径+老旧 Win7:代码页不一致会导致扩展调用失败,统一使用英文字段即可规避。
验证与观测方法
桌面端验证
- 打开 chrome://downloads,清空历史。
- 访问 supplier.example.com,随机下载一份 PDF。
- 在资源管理器查看文件是否出现在 …/compliance/supplier_example/。
- 检查同一目录下是否生成 .sha256.csv 记录。
可复现指标
若路径正确且哈希值与下载项一致,则判定规则生效;若文件仍落在默认 Downloads 根目录,则扩展权限可能被组策略禁用,需排查 chrome://policy 中 ExtensionInstallBlocklist。
与第三方下载管理器协同
Free Download Manager(FDM)支持“监视 Chrome 下载”模式,可在其“新建分类”里按通配符域名设置磁盘路径。做法:FDM → 设置 → 分类 → 新建 → 网站掩码:*.supplier.example.com → 文件夹:E:\compliance\supplier。优点:FDM 以独立服务运行,不受 Chrome 扩展权限收紧影响;缺点:需额外开放本地 8080 端口做 IPC,可能被防火墙拦截。
故障排查速查表
| 现象 | 可能原因 | 处置 |
|---|---|---|
| 文件仍落默认目录 | 扩展未获得“下载管理”权限 | chrome://extensions → 详情→ 打开“允许管理下载”。 |
| 下载后文件丢失 | 防病毒将移动动作误判为勒索行为 | 在 AV 白名单添加下载根目录与目标目录。 |
| 规则不生效(企业设备) | 组策略强制 ExtensionInstallBlocklist=* | 联系 IT 将 Download Router ID 加入 ExtensionInstallForcelist。 |
适用/不适用场景清单
- 适用:① 需留存供应商发票的采购部;② 教育机构按课程站点归档 PDF;③ 个人创作者按客户域名分素材,方便月末计费。
- 不适用:① 禁止安装任何第三方扩展的券商终端;② 安卓 13 以下且无法 root 的老旧平板;③ 需要秒级实时归档的工控日志(建议用服务器端代理)。
最佳实践 6 条(决策检查表)
- 路径深度 ≤3 层,避免 Windows 260 字符限制。
- 统一使用英文小写+下划线,跨系统压缩包解压不会乱码。
- 规则条数控制在 50 条以内,扩展使用正则引擎 O(n) 匹配,过多会拖慢新建下载。
- 对高敏目录启用 BitLocker 或 FileVault,防止离线镜像被拷走。
- 每季度导出一次 chrome://policy 与扩展清单,附在审计报告后。
- 升级 Chrome 前先在同版本 Beta 通道验证扩展兼容,避免 API 变动导致规则失效。
版本差异与迁移建议
Chrome 128 起,Manifest V3 扩展禁止后台常驻端口,Download Router 作者已改用 Service Worker 事件,触发时机略有延迟(经验性观察:平均 0.3~0.7 秒)。若你从 V2 旧版升级,需检查“移动失败”日志,必要时把“延迟”设为 2 秒以上。
FAQ(使用 FAQPage Schema)
Chrome 未来会原生支持按站点下载目录吗?
截至 Chrome 128 官方稳定版,未在 Chromium Bug Tracker 或 DevTools 协议中发现相关字段,短期内无官方计划。
扩展移动文件会改变创建时间吗?
Windows 下 MoveFileEx 保留原创建时间;macOS 的 mv 命令会更新 birth time,可在脚本里加 -p 参数保留。
安卓端有无非 root 方案?
可借助“快捷指令”+ 文件 App 手动分拣,但无法自动;或在 Android 14 以上使用系统“下载管理器”WorkProfile 隔离,需 MDM 支持。
收尾:核心结论与下一步行动
谷歌浏览器目前尚未提供按站点单独指定下载文件夹的原生开关,但借助 Manifest V3 扩展(如 Download Router)+ 命名规则,可在桌面端实现“合规、可审计、一键回退”的分流方案。若你所在组织禁止第三方扩展,可改用 Free Download Manager 等外部下载器,通过通配符域名分类实现相似效果。无论采用哪条路线,都应在上线前用抓包与哈希日志验证,并每季度复查策略是否仍符合审计要求。下一步,请先在测试环境布署 5 条以内规则,确认无性能衰减后,再逐步扩展到全部供应商站点。


