本文目录导读:

我来帮你创建一个自动整理桌面文件的脚本,这个脚本会根据文件扩展名自动分类并移动到对应文件夹。
Windows 版本 (PowerShell)
# 桌面文件自动整理脚本
# 保存为: organize_desktop.ps1
# 获取桌面路径
$DesktopPath = [Environment]::GetFolderPath('Desktop')
Write-Host "正在整理桌面: $DesktopPath" -ForegroundColor Green
# 定义文件分类规则
$Categories = @{
'图片' = @('.jpg', '.jpeg', '.png', '.gif', '.bmp', '.ico', '.webp', '.svg')
'视频' = @('.mp4', '.avi', '.mkv', '.mov', '.wmv', '.flv')
'音频' = @('.mp3', '.wav', '.flac', '.aac', '.ogg')
'文档' = @('.doc', '.docx', '.txt', '.pdf', '.xls', '.xlsx', '.ppt', '.pptx', '.md')
'压缩包' = @('.zip', '.rar', '.7z', '.tar', '.gz')
'程序' = @('.exe', '.msi', '.bat', '.cmd', '.ps1')
'代码' = @('.py', '.js', '.html', '.css', '.java', '.cpp', '.h', '.c')
'安装包' = @('.dmg', '.pkg', '.deb', '.rpm')
'快捷方式' = @('.lnk', '.url')
'其他' = @('*')
}
# 创建文件夹并移动文件
function Move-Files {
param($Extension, $Category)
if ($Extension -eq '*') {
# 处理其他类型的文件
$files = Get-ChildItem -Path $DesktopPath -File | Where-Object {
$_.Extension -notmatch '\.(jpg|jpeg|png|gif|bmp|ico|webp|svg|mp4|avi|mkv|mov|wmv|flv|mp3|wav|flac|aac|ogg|doc|docx|txt|pdf|xls|xlsx|ppt|pptx|md|zip|rar|7z|tar|gz|exe|msi|bat|cmd|ps1|py|js|html|css|java|cpp|h|c|dmg|pkg|deb|rpm|lnk|url)$'
}
} else {
$files = Get-ChildItem -Path $DesktopPath -File | Where-Object { $_.Extension -eq $Extension }
}
if ($files.Count -gt 0) {
$targetFolder = Join-Path $DesktopPath $Category
if (-not (Test-Path $targetFolder)) {
New-Item -ItemType Directory -Path $targetFolder | Out-Null
}
foreach ($file in $files) {
$targetPath = Join-Path $targetFolder $file.Name
# 处理重名文件
$counter = 1
while (Test-Path $targetPath) {
$newName = "$($file.BaseName)_$counter$($file.Extension)"
$targetPath = Join-Path $targetFolder $newName
$counter++
}
Move-Item $file.FullName $targetPath -Force
Write-Host "已移动: $($file.Name) -> $Category/" -ForegroundColor Yellow
}
}
}
# 执行整理
foreach ($category in $Categories.Keys) {
$extensions = $Categories[$category]
foreach ($ext in $extensions) {
Move-Files -Extension $ext -Category $category
}
}
Write-Host "`n桌面整理完成!" -ForegroundColor Green
Linux/Mac 版本 (Bash)
#!/bin/bash
# 桌面文件自动整理脚本
# 保存为: organize_desktop.sh
# 使用方法: chmod +x organize_desktop.sh && ./organize_desktop.sh
# 获取桌面路径
DESKTOP_DIR="$HOME/Desktop"
if [[ ! -d "$DESKTOP_DIR" ]]; then
DESKTOP_DIR="$HOME/桌面" # 中文系统尝试
fi
echo "正在整理桌面: $DESKTOP_DIR"
cd "$DESKTOP_DIR" || exit 1
# 创建分类函数
mkdir_dirs() {
mkdir -p "图片" "视频" "音频" "文档" "压缩包" "程序" "代码" "安装包" "其他"
}
# 移动文件函数
move_files() {
local pattern="$1"
local category="$2"
shopt -s nullglob
for file in $pattern; do
if [[ -f "$file" ]]; then
mv "$file" "$category/"
echo "已移动: $file -> $category/"
fi
done
shopt -u nullglob
}
# 创建目录
mkdir_dirs
# 图片文件
move_files "*.jpg" "图片"
move_files "*.jpeg" "图片"
move_files "*.png" "图片"
move_files "*.gif" "图片"
move_files "*.bmp" "图片"
move_files "*.ico" "图片"
move_files "*.webp" "图片"
move_files "*.svg" "图片"
# 视频文件
move_files "*.mp4" "视频"
move_files "*.avi" "视频"
move_files "*.mkv" "视频"
move_files "*.mov" "视频"
move_files "*.wmv" "视频"
move_files "*.flv" "视频"
# 音频文件
move_files "*.mp3" "音频"
move_files "*.wav" "音频"
move_files "*.flac" "音频"
move_files "*.aac" "音频"
move_files "*.ogg" "音频"
# 文档文件
move_files "*.doc" "文档"
move_files "*.docx" "文档"
move_files "*.txt" "文档"
move_files "*.pdf" "文档"
move_files "*.xls" "文档"
move_files "*.xlsx" "文档"
move_files "*.ppt" "文档"
move_files "*.pptx" "文档"
move_files "*.md" "文档"
# 压缩文件
move_files "*.zip" "压缩包"
move_files "*.rar" "压缩包"
move_files "*.7z" "压缩包"
move_files "*.tar" "压缩包"
move_files "*.gz" "压缩包"
# 程序文件
move_files "*.exe" "程序"
move_files "*.msi" "程序"
move_files "*.sh" "程序"
move_files "*.bat" "程序"
# 代码文件
move_files "*.py" "代码"
move_files "*.js" "代码"
move_files "*.html" "代码"
move_files "*.css" "代码"
move_files "*.java" "代码"
move_files "*.cpp" "代码"
# 安装包
move_files "*.dmg" "安装包"
move_files "*.pkg" "安装包"
move_files "*.deb" "安装包"
move_files "*.rpm" "安装包"
# 其他文件
shopt -s nullglob
for file in *; do
if [[ -f "$file" ]]; then
mv "$file" "其他/"
echo "已移动: $file -> 其他/"
fi
done
shopt -u nullglob
echo "桌面整理完成!"
使用方法
Windows 用户:
- 将 PowerShell 代码保存为
organize_desktop.ps1 - 右键单击文件,选择“使用 PowerShell 运行”
- 如果遇到执行策略问题,运行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Mac/Linux 用户:
- 将 Bash 代码保存为
organize_desktop.sh - 在终端赋予执行权限:
chmod +x organize_desktop.sh
- 运行脚本:
./organize_desktop.sh
智能整理版 (Python 跨平台)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 功能更强大的跨平台桌面整理工具
import os
import shutil
from pathlib import Path
import platform
def get_desktop_path():
"""获取桌面路径"""
system = platform.system()
if system == "Windows":
return Path.home() / "Desktop"
elif system == "Darwin": # macOS
return Path.home() / "Desktop"
else: # Linux
# 尝试常见路径
desktop = Path.home() / "Desktop"
if not desktop.exists():
desktop = Path.home() / "桌面"
return desktop
def create_categories():
"""创建分类目录"""
categories = [
"图片", "视频", "音频", "文档", "压缩包",
"程序", "代码", "安装包", "电子书", "其他"
]
for cat in categories:
(DESKTOP / cat).mkdir(exist_ok=True)
def get_category(ext):
"""根据扩展名返回分类"""
ext = ext.lower()
categories = {
"图片": {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.ico', '.webp', '.svg', '.tiff', '.raw'},
"视频": {'.mp4', '.avi', '.mkv', '.mov', '.wmv', '.flv', '.webm', '.m4v', '.mpg', '.mpeg'},
"音频": {'.mp3', '.wav', '.flac', '.aac', '.ogg', '.m4a', '.wma'},
"文档": {'.doc', '.docx', '.txt', '.pdf', '.xls', '.xlsx', '.ppt', '.pptx', '.md', '.rtf', '.odt'},
"压缩包": {'.zip', '.rar', '.7z', '.tar', '.gz', '.bz2', '.xz'},
"程序": {'.exe', '.msi', '.bat', '.cmd', '.sh', '.app', '.com'},
"代码": {'.py', '.js', '.html', '.css', '.java', '.cpp', '.h', '.c', '.php', '.swift', '.go', '.ts'},
"安装包": {'.dmg', '.pkg', '.deb', '.rpm', '.iso'},
"电子书": {'.epub', '.mobi', '.azw3', '.fb2', '.djvu'}
}
for category, exts in categories.items():
if ext in exts:
return category
return "其他"
def organize_files():
"""整理文件"""
moved_count = 0
# 遍历桌面所有文件
for item in DESKTOP.iterdir():
if not item.is_file():
continue
# 跳过脚本自身和隐藏文件
if item.name.startswith('.'):
continue
if item.name in ['organize_desktop.py', 'organize_desktop.sh', 'organize_desktop.ps1']:
continue
# 获取分类
ext = item.suffix
category = get_category(ext)
# 目标路径
target_dir = DESKTOP / category
target_path = target_dir / item.name
# 处理重名文件
counter = 1
while target_path.exists():
new_name = f"{item.stem}_{counter}{item.suffix}"
target_path = target_dir / new_name
counter += 1
try:
shutil.move(str(item), str(target_path))
print(f"✓ 已移动: {item.name} → {category}/")
moved_count += 1
except Exception as e:
print(f"✗ 移动失败 {item.name}: {e}")
if moved_count == 0:
print("桌面已经很整洁了!没有文件需要移动。")
else:
print(f"\n整理完成!共移动 {moved_count} 个文件。")
if __name__ == "__main__":
global DESKTOP
DESKTOP = get_desktop_path()
print(f"📁 桌面路径: {DESKTOP}")
if not DESKTOP.exists():
print("❌ 找不到桌面文件夹!")
exit(1)
create_categories()
organize_files()
Python 版本使用方法:
- 保存为
organize_desktop.py - 运行:
python3 organize_desktop.py
Windows 使用:
python organize_desktop.py
运行效果
运行后脚本会:
- ✅ 自动创建分类文件夹
- ✅ 根据文件类型自动分类
- ✅ 处理重名文件(自动加序号)
- ✅ 显示移动进度
- ✅ 跳过自身和隐藏文件
提示:首次运行前建议备份重要文件,或者先在测试文件夹运行试试效果!
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播