CloudSync/CloudSync/FOLDER_MANAGEMENT.md

200 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📁 本地文件夹管理功能
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: 可以!只要路径有效,支持任何可访问的目录。
## 📝 开发计划
- [ ] 文件夹分组功能
- [ ] 文件夹标签和颜色标记
- [ ] 同步策略自定义(文件过滤、排除规则)
- [ ] 文件夹右键菜单
- [ ] 文件夹拖拽排序
- [ ] 批量操作(批量启用/禁用/移除)
- [ ] 文件夹搜索和过滤
- [ ] 同步历史记录查看
## 🤝 反馈建议
如果您有任何建议或发现问题,欢迎反馈!