本文目录导读:

是的,脚本可以自动整理桌面文件!通过编写简单的脚本(如 Python、Bash、PowerShell),你可以根据文件类型、名称、日期等规则,将桌面上的文件自动移动到指定的文件夹中。
下面给出几种常见系统的脚本示例,你可以根据自己的需求修改使用。
Windows (使用 PowerShell)
这个脚本会按照文件扩展名(后缀),将桌面文件移动到对应的文件夹里。
# 定义桌面路径和整理目标文件夹
$desktopPath = [Environment]::GetFolderPath('Desktop')
$destinationRoot = "$desktopPath\整理后" # 在桌面上创建一个叫“整理后”的文件夹
# 确保目标根文件夹存在
if (-not (Test-Path $destinationRoot)) {
New-Item -ItemType Directory -Path $destinationRoot | Out-Null
}
# 获取桌面上所有文件(不包括文件夹)
Get-ChildItem -Path $desktopPath -File | ForEach-Object {
$file = $_
$extension = $file.Extension.ToLower()
# 跳过脚本本身(如果不想移动自己)
if ($file.Name -eq "Organize-Desktop.ps1") { return }
# 根据扩展名定义目标子文件夹
$subFolder = switch ($extension) {
'.jpg' { '图片' }
'.jpeg' { '图片' }
'.png' { '图片' }
'.gif' { '图片' }
'.bmp' { '图片' }
'.doc' { '文档' }
'.docx' { '文档' }
'.xls' { '文档' }
'.xlsx' { '文档' }
'.ppt' { '文档' }
'.pptx' { '文档' }
'.pdf' { '文档' }
'.txt' { '文本' }
'.zip' { '压缩包' }
'.rar' { '压缩包' }
'.7z' { '压缩包' }
'.exe' { '程序' }
'.msi' { '程序' }
default { '其他文件' } # 不认识的扩展名放这里
}
# 构建目标文件夹路径
$destinationDir = Join-Path -Path $destinationRoot -ChildPath $subFolder
if (-not (Test-Path $destinationDir)) {
New-Item -ItemType Directory -Path $destinationDir | Out-Null
}
# 移动文件(如果有重名会添加数字后缀)
$destinationFile = Join-Path -Path $destinationDir -ChildPath $file.Name
$counter = 1
while (Test-Path $destinationFile) {
$newName = "$($file.BaseName)_$counter$($file.Extension)"
$destinationFile = Join-Path -Path $destinationDir -ChildPath $newName
$counter++
}
Move-Item -Path $file.FullName -Destination $destinationFile -WhatIf # 去掉 -WhatIf 来真正执行
}
使用方法:
- 打开记事本,粘贴上述代码。
- 保存为
Organize-Desktop.ps1文件(注意扩展名是.ps1)。 - 右键点击该文件 -> “使用 PowerShell 运行”。
- 小提示: 代码中有一行
-WhatIf参数,它会模拟运行并显示将要移动的文件,但不会真的移动,你可以先试运行一次看看效果,确认没问题后删掉-WhatIf再正式运行。
- 小提示: 代码中有一行
macOS / Linux (使用 Bash)
这个脚本逻辑类似,会根据文件类型创建对应的文件夹并移动文件。
#!/bin/bash
# 定义桌面路径
DESKTOP="$HOME/Desktop"
# 定义整理后的根文件夹(在桌面上创建一个叫“整理后”的文件夹)
DEST="$DESKTOP/整理后"
# 创建根文件夹(如果不存在)
mkdir -p "$DEST"
# 遍历桌面上的所有文件(不包括文件夹)
for file in "$DESKTOP"/*; do
# 跳过脚本本身和目录
[ -f "$file" ] || continue
filename=$(basename "$file")
[ "$filename" == "organize_desktop.sh" ] && continue
# 获取文件扩展名(转为小写)
extension="${filename##*.}"
extension_lower=$(echo "$extension" | tr '[:upper:]' '[:lower:]')
# 根据扩展名定义目标子文件夹
case "$extension_lower" in
jpg|jpeg|png|gif|bmp) subfolder="图片" ;;
doc|docx|xls|xlsx|ppt|pptx|pdf|txt) subfolder="文档" ;;
zip|rar|7z|gz|bz2) subfolder="压缩包" ;;
dmg|app) subfolder="程序" ;;
mp3|wav|flac|aac) subfolder="音乐" ;;
mp4|avi|mov|mkv) subfolder="视频" ;;
*) subfolder="其他文件" ;;
esac
# 创建子文件夹(如果不存在)
target_dir="$DEST/$subfolder"
mkdir -p "$target_dir"
# 处理重名文件(添加数字后缀)
target_file="$target_dir/$filename"
counter=1
while [ -f "$target_file" ]; do
base="${filename%.*}"
target_file="$target_dir/${base}_$counter.$extension"
((counter++))
done
# 移动文件
mv "$file" "$target_file"
echo "移动了: $filename -> $subfolder/"
done
echo "桌面整理完成!"
使用方法:
- 打开“文本编辑”或终端中的
nano/vim,粘贴代码。 - 保存为
organize_desktop.sh到桌面。 - 打开终端(Terminal),输入以下命令赋予执行权限:
chmod +x ~/Desktop/organize_desktop.sh
- 运行脚本:
~/Desktop/organize_desktop.sh
更高级的灵感
除了按扩展名整理,你还可以考虑:
- 按文件修改日期: 创建
2025-04、2025-05这样的月份文件夹,将文件分月存放。 - 按文件尺寸: 将大于 100MB 的文件移动到“大文件”文件夹。
- 按关键词: 如果文件名包含“项目”、“报告”等词,移动到对应文件夹。
- 使用 Python (跨平台): Python 的
os和shutil库可以写更灵活的脚本,尤其适合逻辑复杂的情况。
重要提醒(非常重要!)
- 备份你的文件! 在第一次运行任何自动整理脚本前,请务必备份桌面上的文件,或者先把文件复制一份到其他地方进行测试。
- 先模拟运行! 使用 PowerShell 的
-WhatIf参数或 Bash 中先用echo代替mv,确保脚本的行为符合你的预期,而不会误删或错误移动文件。 - 注意程序快捷方式: 脚本默认只移动文件(
-File),不会移动文件夹,如果你桌面有程序的快捷方式(.lnk或.app文件),可以根据需要调整规则。
希望这些示例能帮你摆脱杂乱桌面!如果需要定制更具体的规则(比如按日期或关键词),可以告诉我,我可以帮你调整脚本。
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播