folder marker missing 报错的成因与恢复
报错含义
文件夹状态显示错误,日志出现 folder marker missing——程序找不到该文件夹根目录下的 .stfolder 标记目录。这个标记是同步机制的组成部分(作用见[添加同步文件夹(../04-共享文件夹/01-add-folder.md)):没有它,程序不认为这个目录是一个有效的同步文件夹。
常见成因
- 标记目录被手动删除——它看起来像个空目录,容易被当成垃圾清掉;
- 「显示隐藏文件」的清理工具/脚本把它一并扫走(点开头的名字在 Unix 上天然隐藏);
- 文件夹的实际路径变了:磁盘换挂载点、移动硬盘换盘符、网络存储掉线——程序到配置里记录的路径下找不到标记;
- 目录被外部工具整体替换/重命名。
处理步骤
- 确认目录还在不在:到配置记录的路径看一眼。路径变了(盘符/挂载点)→ 在文件夹设置里改回正确路径;
- 目录在、标记没了 → 重建标记:在该目录下手动创建名为
.stfolder的空目录。Windows 资源管理器里新建文件夹时输入带点的名字即可;命令行则:
mkdir .stfolder
- 程序重新扫描后文件夹应恢复 Up to Date;
- 目录整个没了:数据确实丢了(或从未存在)——最稳妥的是删除该文件夹配置后重新添加,让程序从头建立;如果其他设备上还有完整数据,重新添加并接受共享即可全量拉回。
预防
- 把
.stfolder加入你自己的清理白名单——任何「清理隐藏文件」类工具都别碰它; - 与它同命的还有
.stignore、.stversions、.syncthing.*.tmp前缀文件,都属程序命名空间(同步边界的完整清单见[哪些东西会被同步(../05-控制同步内容/04-what-syncs.md)); - 移动介质上的同步文件夹,养成先挂载、再让程序运行的顺序习惯(任务计划自启动场景留意 BitLocker 分区的登录前不可访问问题,见[Windows 自启(../08-平台与自启动/01-autostart-windows.md))。