Install
openclaw skills install desktop-organizer桌面文件整理技能。当用户要求整理、清理或归类电脑桌面文件时,应使用本技能。它提供了标准化的安全操作流程,并根据预定义的分类规则将文件移动到对应文件夹。支持跨平台(macOS、Linux、Windows)。
openclaw skills install desktop-organizer本技能用于整理用户电脑桌面上的文件。整理前会自动备份,并按照预定义的分类规则将文件移动到指定目录。
跨平台支持:macOS、Linux、Windows
在执行整理前,首先确定当前操作系统和桌面路径:
| 平台 | 桌面路径 | 备份路径前缀 |
|---|---|---|
| macOS/Linux | ~/Desktop/ | ~/Desktop_Backup_ |
| Windows | %USERPROFILE%\Desktop\ | %USERPROFILE%\Desktop_Backup_\ |
使用说明:
~ 表示用户主目录(macOS/Linux)%USERPROFILE% 表示用户主目录(Windows)执行时需先运行以下命令获取实际路径:
# macOS/Linux
DESKTOP_PATH="$HOME/Desktop"
BACKUP_PREFIX="$HOME/Desktop_Backup_"
# Windows (PowerShell)
$DESKTOP_PATH = "$env:USERPROFILE\Desktop"
$BACKUP_PREFIX = "$env:USERPROFILE\Desktop_Backup_"
整理桌面属于批量文件操作,存在不可逆风险。每次执行时必须严格遵守以下步骤:
{BACKUP_PREFIX}<日期时间>/⚠️ 绝对不允许跳过备份步骤。
📝 填写说明:以下是规则模板,请按照注释提示填写你的实际规则。 每条规则格式:文件类型/名称特征 → 移动到哪个文件夹。
⚠️ 跨平台路径表示:
{DESKTOP_PATH}表示桌面路径(自动适配)- 例如:
{DESKTOP_PATH}/文档/会自动解析为~/Desktop/文档/(Mac/Linux)或%USERPROFILE%\Desktop\文档\(Windows)
| 类型 | 说明 | 移动到 |
|---|---|---|
| 文件夹 | 桌面根目录下的所有文件夹(目标文件夹本身除外) | {DESKTOP_PATH}/文档/ |
⚠️ 移动文件夹时,若目标位置已存在同名文件夹,遵循规则 4 的冲突处理策略(当前:跳过不移动)。
| 文件类型 | 扩展名 | 移动到 |
|---|---|---|
| 图片 | .jpg .jpeg .png .gif .webp .heic | {DESKTOP_PATH}/文档/ |
| 文档 | .pdf .doc .docx .txt .md | {DESKTOP_PATH}/文档/ |
| 表格 | .xls .xlsx .csv | {DESKTOP_PATH}/文档/ |
| 视频 | .mp4 .mov .avi .mkv | {DESKTOP_PATH}/文档/ |
| 音频 | .mp3 .wav .flac .aac | {DESKTOP_PATH}/文档/ |
| 压缩包 | .zip .rar .7z .tar .gz | {DESKTOP_PATH}/文档/ |
| 安装包 | .dmg .pkg .exe | {DESKTOP_PATH}/文档/ |
| 代码文件 | .py .js .ts .java .sh | {DESKTOP_PATH}/文档/ |
如果某些文件名包含特定关键词,优先按此规则处理,忽略规则 1。
| 文件名包含关键词 | 移动到 |
|---|---|
note.txt | {DESKTOP_PATH}/ |
以下文件类型/名称不移动,保留在桌面。
保留在桌面的文件:
当目标位置已存在同名文件时:
执行整理时,按以下顺序操作:
macOS/Linux:
OS="unix"
DESKTOP_PATH="$HOME/Desktop"
BACKUP_PREFIX="$HOME/Desktop_Backup_"
Windows:
$OS = "windows"
$DESKTOP_PATH = "$env:USERPROFILE\Desktop"
$BACKUP_PREFIX = "$env:USERPROFILE\Desktop_Backup_"
# macOS/Linux
ls -la "$DESKTOP_PATH/"
# Windows (PowerShell)
Get-ChildItem -Path $DESKTOP_PATH | Select-Object Name, Length, LastWriteTime
将扫描结果整理成表格展示给用户,包含:名称、类型(文件/文件夹)、大小、创建日期。
💡 此步骤仅为展示,无需等待用户确认,直接继续后续步骤。
macOS/Linux:
BACKUP_DIR="${BACKUP_PREFIX}$(date +%Y%m%d_%H%M%S)"
cp -r "$DESKTOP_PATH/" "$BACKUP_DIR"
echo "备份完成:$BACKUP_DIR"
Windows:
$BACKUP_DIR = "$BACKUP_PREFIX$(Get-Date -Format 'yyyyMMdd_HHmmss')"
Copy-Item -Path "$DESKTOP_PATH\*" -Destination "$BACKUP_DIR" -Recurse
Write-Host "备份完成:$BACKUP_DIR"
备份成功后才可继续。
在移动文件前,确保所有目标文件夹存在:
macOS/Linux:
mkdir -p "{DESKTOP_PATH}/文档/"
Windows:
if (-not (Test-Path "{DESKTOP_PATH}\文档")) {
New-Item -ItemType Directory -Path "{DESKTOP_PATH}\文档"
}
注意:将
{DESKTOP_PATH}替换为实际的桌面路径变量
参考上方分类规则,依次处理桌面上的每个条目:
文档/){DESKTOP_PATH}/未分类/ 文件夹macOS/Linux 移动示例:
cd "$DESKTOP_PATH"
# 移动文件夹
for folder in "3D打印" "展会"; do
if [ -d "$folder" ] && [ ! -d "文档/$folder" ]; then
mv "$folder" "文档/$folder"
fi
done
# 移动文件
[ ! -e "文档/file.png" ] && mv file.png "文档/"
Windows 移动示例:
cd $DESKTOP_PATH
# 移动文件夹
if (Test-Path "3D打印" -and -not (Test-Path "文档\3D打印")) {
Move-Item "3D打印" "文档\"
}
# 移动文件
if (-not (Test-Path "文档\file.png")) {
Move-Item "file.png" "文档\"
}
整理完成后,输出整理报告:
macOS/Linux:
echo "=== 桌面剩余内容 ==="
ls -lh "$DESKTOP_PATH/"
echo ""
echo "=== 文档目录内容 ==="
ls -lh "$DESKTOP_PATH/文档/"
Windows:
Write-Host "=== 桌面剩余内容 ==="
Get-ChildItem -Path $DESKTOP_PATH | Select-Object Name, Length
Write-Host ""
Write-Host "=== 文档目录内容 ==="
Get-ChildItem -Path "$DESKTOP_PATH\文档" | Select-Object Name, Length
整理范围:
空文件夹处理:
整理后的桌面备份:
~ 表示用户主目录ls, cp, mv, mkdir/%USERPROFILE% 表示用户主目录Get-ChildItem, Copy-Item, Move-Item(PowerShell)\在规则配置中使用 {DESKTOP_PATH} 占位符,执行时需替换为实际路径:
~/Desktop%USERPROFILE%\Desktop