电脑桌面整理机.ahk
;
;说明:
这个是临时的草稿代码,如有时间改进优化后再发布正式版本
由于此脚本会改变电脑桌面上的文件数量和位置,所以请在使用之前先备份电脑数据,谨慎使用
第2段代码是备份和恢复桌面图标位置布局的批处理脚本源代码,请把批处理代码用AutoHotkey代码实现并合并到上面的脚本中。并添加重启并刷新桌面 进程(Explorer.exe)的AutoHotkey语句。
;~ 此脚本的文件名:电脑桌面整理机.ahk
; ===== 脚本说明段 =====
;~ 此脚本的作者:weiyunwps
;~ 此脚本的作用:电脑每次开机自动整理桌面文件到指定文件夹并恢复默认的桌面图标和布局。
;~ 此脚本的最后修改日期(写作和测试最终定稿日期): 2020年07月23日
;~ 此脚本的用法:
;~ 第1步:安装DOS之家出品的一键GHOST硬盘版
;~ 第2步:利用一键GHOST硬盘版附带的个人文件转移工具(C:doshghospft.exe)转移个人文件夹到D:Persional
;~ 第3步:电脑安装最新版的AutoHotkey;
;~ 第4步:复制此脚本到文件夹
;~ C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup。
;~ ( 按下快捷键{Win}+ R 输入 shell:startup 回车 )
;~ 第5步:调整电脑桌面上图标的顺序和摆放位置
;~ 第6步:安装常用电脑软件
;~ 第7步:清理调整设置优化电脑中的软件和文件
;~ 第8步:利用一键GHOST硬盘版克隆备份电脑操作系统所在分区C盘到磁盘镜像D:~1C_PAN.GHO
;~ 第9步:安装"电脑开机启动瞬间自动还原"软件
;~ 第10步:重新启动电脑并测试"自动还原"软件的还原效果和防穿透效果
;~ 第11步:复制C盘磁盘镜像文件D:~1C_PAN.GHO到External_RAID1_ORICO_2259RU3奥睿科RAID1磁盘阵列硬盘盒中备用
;~ (2259RU3_RAID1磁盘阵列硬盘盒中安装两块500GB的西部数据7毫米厚2.5寸机械硬盘组成RAID1镜像磁盘阵列)
;
;~ 恢复电脑桌面图标的布局(即桌面图标的顺序和摆放位置)需要
;~ 借助以下磁盘分区瞬间还原软件中的某一款软件的电脑开机启动瞬间自动还原功能。
;~ 01 FreezeMagic冰冻精灵
;~ 02 Deep Freeze Standard 冰点还原
;~ 03 ShadowDefender 影子卫士
;~ 04 Returnil_RVS 虚拟影子系统
;~ 05 PowerShadow 影子系统
;~ 06 ShadowUser 影子用户系统
;~ 07 hyjl 远志还原精灵
;~ 08 ygtq 雨过天晴电脑保护系统
;~ 09 易速还原
;~ 10 快速还原
;~ 11 极速还原
;~ 12 迅闪还原
;~ 13 网维大师还原
;~ 14 盛天易游贝壳
;~ 15 无忧还原
;~ 16 方格子
;~ 17 wondweshare time freeze
;~ 18 辛巴影子系统
;~ 19 Comodo Time Machine 系统时光机
;~ 20 免费影子系统
;~ 21 ProMagic plus 瓦瑟电脑救援专家
;~ 22 微软windows steadystate
;~ 23 微软EWF
;~ 24 微软PC Safe guard
;~ 25 OneKeyGhost 一键还原精灵
;~ 360网吧还原系统保护器
; ===== 变量定义段 =====
MyVarSourcePatternFiles := "D:PersonalDesktop*.*"
;~ 此处的句点运算符用于把两个项目组合成单个字符串 (在句点的两边至少必须有一个空格).
MyVarDestinationFolder := "D:PersonalDesktop旧文件" . A_MM . A_DD
MyVarDeskTopIconsBackupFolder := "D:PersonalDesktopBak"
; ===== 此脚本运行主体段 =====
;~ 创建目录/文件夹.
FileCreateDir,%MyVarDestinationFolder%
FileCreateDir,%MyVarDeskTopIconsBackupFolder%
; 下面的例子移动一个文件夹中所有文件和文件夹到另一个文件夹中:
ErrorCount := MoveFilesAndFolders("D:PersonalDesktop*.*", "D:PersonalDesktop旧文件" . A_MM . A_DD)
;~ ErrorCount := MoveFilesAndFolders("D:PersonalDesktop*.*", %MyVarDestinationFolder%)
if ErrorCount <> 0
ToolTip,%ErrorCount% files/folders could not be moved.
;~ MsgBox %ErrorCount% files/folders could not be moved.
;~ 复制默认的桌面图标副本备份到电脑桌面(恢复默认的电脑桌面图标)
ErrorCountCopy := CopyFilesAndFolders("D:PersonalDesktopBak*.*", "D:PersonalDesktop")
;~ ErrorCount := MoveFilesAndFolders("D:PersonalDesktop*.*", %MyVarDestinationFolder%)
if ErrorCountCopy <> 0
ToolTip,%ErrorCountCopy% files/folders could not be copyed.
ToolTip,已经把桌面旧文件整理到桌面文件夹旧文件中!
Sleep,5000
return
; ===== 函数定义段 =====
MoveFilesAndFolders(SourcePattern, DestinationFolder, DoOverwrite = false)
; 移动匹配 SourcePattern 的所有文件和文件夹到 DestinationFolder 文件夹中且
; 返回无法移动的文件/文件夹的数目. 此函数需要 v1.0.38+
; 因为它使用了 FileMoveDir 的模式 2.
{
if DoOverwrite = 1
DoOverwrite = 2 ; 请参阅 FileMoveDir 了解模式 2 与模式 1 的区别.
; 首先移动所有文件 (不是文件夹):
FileMove, %SourcePattern%, %DestinationFolder%, %DoOverwrite%
ErrorCount := ErrorLevel
; 现在移动所有文件夹:
loop, %SourcePattern%, 2 ; 2 表示 "只获取文件夹".
{
FileMoveDir, %A_LoopFileFullPath%, %DestinationFolder%%A_LoopFileName%, %DoOverwrite%
ErrorCount += ErrorLevel
if ErrorLevel ; 报告每个出现问题的文件夹名称.
ToolTip,Could not move %A_LoopFileFullPath% into %DestinationFolder%.
;~ MsgBox Could not move %A_LoopFileFullPath% into %DestinationFolder%.
}
return ErrorCount
}
;
; 下面的例子复制一个文件夹中所有文件和文件夹到另一个文件夹中,(参数名加c与移动区别开来):
CopyFilesAndFolders(SourcePatternc, DestinationFolderc, DoOverwritec = false)
; 复制匹配 SourcePatternC 的所有文件和文件夹到 DestinationFolderC 文件夹中且
; 返回无法复制的文件/文件夹的数目. 此函数需要 v1.0.38+
; 因为它使用了 FileMoveDir 的模式 2.
{
if DoOverwritec = 1
DoOverwritec = 2 ; 请参阅 FileMoveDir 了解模式 2 与模式 1 的区别.
; 首先移动所有文件 (不是文件夹):
FileCopy, %SourcePatternc%, %DestinationFolderc%, %DoOverwritec%
ErrorCountc := ErrorLevel
; 现在移动所有文件夹:
loop, %SourcePatternc%, 2 ; 2 表示 "只获取文件夹".
{
FileCopyDir, %A_LoopFileFullPath%, %DestinationFolderc%%A_LoopFileName%, %DoOverwritec%
ErrorCountc += ErrorLevel
if ErrorLevel ; 报告每个出现问题的文件夹名称.
ToolTip,Could not copy %A_LoopFileFullPath% into %DestinationFolderc%.
;~ MsgBox Could not copy %A_LoopFileFullPath% into %DestinationFolder%.
}
return ErrorCountc
}
; ===== 此脚本到此行结束 =====
以下是备份和恢复桌面图标位置布局的批处理脚本源代码,请把批处理代码用AutoHotkey代码实现并合并到上面的脚本中。
@echo off
title 桌面图标备份工具v1.1
mode con lines=10 cols=40
color F0
echo.----------------------------------------
echo.
echo. 输入1为备份图标位置
echo. 输入2为还原图标位置
echo. 输入3或其他退出程序
echo.
echo.----------------------------------------
echo.
set /p open=请选择您的操作:
if "%open%"=="1" goto backups_ico
if "%open%"=="2" goto restore_ico
if "%open%"=="3" goto getout
goto getout
:backups_ico
cls
Regedit /E %cd%图标位置备份.reg HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellBags1Desktop
echo.
echo.
echo.
echo.桌面图标已备份到当前目录
echo.文件名为"图标位置备份.reg"
goto getout
:restore_ico
cls
start /w 图标位置备份.reg
tskill explorer
echo.
echo.
echo.
echo.
echo.桌面图标已从当前目录还原
goto getout
:getout
if "%open%"=="1" ping 127.0.1 -n "3">nul
if "%open%"=="2" ping 127.0.1 -n "3">nul
cls
echo.
echo.
echo.----------------------------------------
echo.
echo. 按任意键退出
echo.
echo.----------------------------------------
echo.
Pause>nul
Exit
::桌面图标备份工具
::版本1.1
::作者 52P
::桌面图标备份工具
::版本1.2
::修改时间 13:15 2017/6/26
::作者 吾爱破解 52P
@echo off
title 桌面图标备份工具v1.2
mode con lines=10 cols=40
color F0
echo.出处: 吾爱破解 http://www.52pojie.cn
echo.
echo.----------------------------------------
echo.
echo. 输入1为备份图标位置
echo. 输入2为还原图标位置
echo. 输入3或其他退出程序
echo.
echo.----------------------------------------
set /p open=请选择您的操作:
if "%open%"=="1" goto backups_ico
if "%open%"=="2" goto restore_ico
cls
echo.任意键退出
pause>nul
exit
:backups_ico
cls
Regedit /E %cd%图标位置备份.reg HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellBags1Desktop
echo.
echo.
echo.
echo.桌面图标已备份到当前目录
echo.文件名为"图标位置备份.reg"
echo.3秒后自动退出程序
ping 127.0.1 -n "3">nul
exit
:restore_ico
cls
start /w 图标位置备份.reg
tskill explorer
echo.
echo.
echo.
echo.
echo.桌面图标已从当前目录还原
echo.3秒后自动退出程序
ping 127.0.1 -n "3">nul
exit
?