200 lines
5.5 KiB
Markdown
200 lines
5.5 KiB
Markdown
# 📁 本地文件夹管理功能
|
||
|
||
CloudSync 现在支持管理多个本地文件夹,并自动保存使用历史记录!
|
||
|
||
## ✨ 主要功能
|
||
|
||
### 1. 多文件夹管理
|
||
- ✅ 同时管理多个本地同步文件夹
|
||
- ✅ 每个文件夹独立配置远程路径
|
||
- ✅ 可以启用/禁用特定文件夹的同步
|
||
- ✅ 批量同步所有启用的文件夹
|
||
|
||
### 2. 历史记录
|
||
- 📊 自动记录文件夹访问时间
|
||
- 📈 统计文件夹使用次数
|
||
- 🕐 按最近使用时间排序
|
||
- 🔥 按使用频率排序
|
||
|
||
### 3. 配置持久化
|
||
- 💾 自动保存文件夹列表到 `~/.cloudsync/folders.json`
|
||
- 🔄 下次启动自动加载历史文件夹
|
||
- 📤 支持导出配置到文件
|
||
- 📥 支持从文件导入配置(合并或替换)
|
||
|
||
### 4. 智能管理
|
||
- 🧹 一键清理无效文件夹(路径不存在的)
|
||
- 🔍 文件夹状态显示(启用/禁用/最后访问时间)
|
||
- ✏️ 可以编辑文件夹的远程路径
|
||
- ❌ 移除文件夹不会删除本地文件
|
||
|
||
## 🎮 使用方法
|
||
|
||
### 添加文件夹
|
||
|
||
1. **方法一:点击"浏览"按钮**
|
||
- 在"当前文件夹"旁边点击"浏览"
|
||
- 选择要同步的本地文件夹
|
||
- 文件夹会自动添加到列表
|
||
|
||
2. **方法二:点击"➕ 添加文件夹"按钮**
|
||
- 在文件夹列表下方点击"➕ 添加文件夹"
|
||
- 选择要同步的本地文件夹
|
||
- 文件夹会添加到列表并自动选中
|
||
|
||
### 管理文件夹
|
||
|
||
在文件夹列表中显示的信息:
|
||
- **本地路径**:文件夹在本地的完整路径
|
||
- **远程路径**:同步到云盘的目标路径
|
||
- **状态**:✅ 启用 或 ❌ 禁用
|
||
- **最后访问**:最后一次访问该文件夹的时间
|
||
|
||
### 文件夹操作
|
||
|
||
- **➖ 移除选中**:从列表中移除选中的文件夹(不删除本地文件)
|
||
- **🔄 刷新列表**:重新加载文件夹列表
|
||
- **🧹 清理无效**:自动移除路径不存在的文件夹
|
||
- **📤 导出配置**:将文件夹列表导出为JSON文件
|
||
- **📥 导入配置**:从JSON文件导入文件夹列表
|
||
|
||
### 开始同步
|
||
|
||
1. 添加一个或多个文件夹
|
||
2. 确保要同步的文件夹状态为"✅ 启用"
|
||
3. 点击"开始同步"按钮
|
||
4. 系统会依次同步所有启用的文件夹
|
||
|
||
## 📊 配置文件格式
|
||
|
||
配置文件保存在:`~/.cloudsync/folders.json`
|
||
|
||
```json
|
||
{
|
||
"folders": [
|
||
{
|
||
"path": "/home/user/Documents",
|
||
"remote_path": "/CloudSync/Documents",
|
||
"enabled": true,
|
||
"added_at": "2025-10-11T12:00:00",
|
||
"last_accessed": "2025-10-11T15:30:00",
|
||
"access_count": 5
|
||
},
|
||
{
|
||
"path": "/home/user/Pictures",
|
||
"remote_path": "/CloudSync/Pictures",
|
||
"enabled": true,
|
||
"added_at": "2025-10-11T12:05:00",
|
||
"last_accessed": "2025-10-11T14:20:00",
|
||
"access_count": 3
|
||
}
|
||
],
|
||
"last_updated": "2025-10-11T15:30:00"
|
||
}
|
||
```
|
||
|
||
## 🔧 高级功能
|
||
|
||
### 编程式使用
|
||
|
||
```python
|
||
from cloudsync.utils.folder_manager import get_folder_manager
|
||
|
||
# 获取文件夹管理器实例
|
||
fm = get_folder_manager()
|
||
|
||
# 添加文件夹
|
||
fm.add_folder(
|
||
path="/path/to/folder",
|
||
remote_path="/CloudSync/MyFolder",
|
||
enabled=True
|
||
)
|
||
|
||
# 获取所有文件夹
|
||
all_folders = fm.get_all_folders()
|
||
|
||
# 获取启用的文件夹
|
||
enabled_folders = fm.get_all_folders(enabled_only=True)
|
||
|
||
# 获取最近使用的5个文件夹
|
||
recent_folders = fm.get_recent_folders(limit=5)
|
||
|
||
# 获取最常用的10个文件夹
|
||
popular_folders = fm.get_most_used_folders(limit=10)
|
||
|
||
# 更新文件夹状态
|
||
fm.update_folder_enabled("/path/to/folder", enabled=False)
|
||
|
||
# 更新远程路径
|
||
fm.update_folder_remote_path("/path/to/folder", "/NewPath")
|
||
|
||
# 清理无效文件夹
|
||
removed_count = fm.clean_invalid_folders()
|
||
|
||
# 导出配置
|
||
fm.export_config("/path/to/backup.json")
|
||
|
||
# 导入配置(合并)
|
||
fm.import_config("/path/to/backup.json", merge=True)
|
||
|
||
# 导入配置(替换)
|
||
fm.import_config("/path/to/backup.json", merge=False)
|
||
```
|
||
|
||
## 💡 使用技巧
|
||
|
||
1. **首次使用**
|
||
- 添加常用的同步文件夹
|
||
- 系统会记住这些文件夹,下次打开自动加载
|
||
|
||
2. **批量管理**
|
||
- 导出配置文件保存到云盘或U盘
|
||
- 在另一台电脑上导入配置,快速恢复同步设置
|
||
|
||
3. **性能优化**
|
||
- 禁用暂时不需要同步的文件夹
|
||
- 定期清理无效文件夹
|
||
|
||
4. **备份建议**
|
||
- 定期导出文件夹配置
|
||
- 配置文件很小,可以包含在系统备份中
|
||
|
||
## 🚀 升级说明
|
||
|
||
从旧版本升级:
|
||
- 旧版本的单文件夹配置会自动迁移
|
||
- 不需要重新配置,所有设置都会保留
|
||
- 配置文件兼容性:向后兼容
|
||
|
||
## ❓ 常见问题
|
||
|
||
**Q: 移除文件夹会删除本地文件吗?**
|
||
A: 不会!移除只是从同步列表中删除,不会删除任何本地文件。
|
||
|
||
**Q: 文件夹的访问记录有什么用?**
|
||
A: 帮助你了解文件夹使用频率,下次打开时自动选中最近使用的文件夹。
|
||
|
||
**Q: 如何临时禁用某个文件夹的同步?**
|
||
A: 在文件夹列表中右键(或双击)可以切换启用状态(功能开发中)。
|
||
|
||
**Q: 配置文件丢失了怎么办?**
|
||
A: 如果有导出的备份文件,可以导入恢复。否则需要重新添加文件夹。
|
||
|
||
**Q: 可以同步网络驱动器吗?**
|
||
A: 可以!只要路径有效,支持任何可访问的目录。
|
||
|
||
## 📝 开发计划
|
||
|
||
- [ ] 文件夹分组功能
|
||
- [ ] 文件夹标签和颜色标记
|
||
- [ ] 同步策略自定义(文件过滤、排除规则)
|
||
- [ ] 文件夹右键菜单
|
||
- [ ] 文件夹拖拽排序
|
||
- [ ] 批量操作(批量启用/禁用/移除)
|
||
- [ ] 文件夹搜索和过滤
|
||
- [ ] 同步历史记录查看
|
||
|
||
## 🤝 反馈建议
|
||
|
||
如果您有任何建议或发现问题,欢迎反馈!
|