您的位置:主页 > 批处理 >

批处理 关机前自动备份聊天记录桌面文件浏览器书签等

2020-05-14作者:纪涛博客来源:68up.com 次阅读

关机前判断是否有过备份,有就直接关机,没有就备份之后再关机;
IF EXIST "date%date%.txt" (shutdown -s -t 0) ELSE 1.bat    // 这段可以单独作为一个批处理  也就是咱们的关机按钮本钮

下面就是上述代码中的 1.bat
%date%是日期变量,在当天没有做过备份的情况下,则用
@echo %date% %time% >> "date%date%.txt"
把当前的日期时间 保存到 今天日期命名的txt文件里

当点击关机图标的时候,先判断有没有文件名是今天的日期的txt文件,如果有,则跳过备份 直接关机
如果没有这个文件 就运行 备份的批处理

在备份前需要关闭一些常用软件的进程
@taskkill /f /im chrome.exe
@taskkill /f /im FlashFXP.exe
@taskkill /f /im Qidian.exe
@taskkill /f /im TXPlatform.exe
@TASKKILL /F /IM wechat.exe   //微信这个很奇怪,不大写前面的"TASKKILL /F /IM" 在我电脑上测试 是关闭的
@taskkill /f /im WechatApp.exe
@taskkill /f /im Wechatweb.exe
@taskkill /f /im winword.exe
@taskkill /f /im excel.exe
@taskkill /f /im powerpnt.exe
@taskkill /f /im XMind.exe
@taskkill /f /im wps.exe
@taskkill /f /im et.exe  //wps演示的exe文件是什么不记得了这里没写

接下来是备份 这里用的是bandizip打包成7z格式
Bandizip.exe c -fmt:7z "backupdesktop-%date%.7z" %userprofile%desktop        // 备份桌面 如果桌面位置移动过 那路径直接写桌面的实际路径   |  命名为  desktop-今天的日期.7z 
Bandizip.exe c -fmt:7z "backupqq-%date%.7z" "%userprofile%My DocumentsTencent Files你的qq号"        //备份QQ聊天记录和接收的文件  红色部分也可以换成 Documents 试一下;如果不行的话 | 如果改过文档位置 请直接写实际路径
Bandizip.exe c -fmt:7z "e:ackupwechat-%date%.7z" "%userprofile%My DocumentsWeChat Files你的微信ID"     //备份微信聊天记录     同上

Bandizip.exe c -fmt:7z "e:ackupchrome-%date%.7z" "%appdata%LocalGoogleChromeUser DataDefaultBookmarks" "%appdata%LocalGoogleChromeUser DataDefaultBookmarks.bak"     // 备份你的Chrome浏览器书签  红色部分是因为有的电脑上不存在Bookmarks.bak这个文件,这部分是选填   如果你改过AppData位置,请直接填写实际路径

Bandizip.exe c -fmt:7z "backup lashfxp-%date%.7z" "%programfiles%FlashFXP"       // FlashFXP的站点管理器 在哪儿 我还没找到 网上也没搜出来  暂且将他的安装目录打包吧 有屌大的知道在哪 麻烦加个微信呗 ( jitao558) 告知一下

Bandizip.exe a backupscan.zip scan           // 备份一下临时扫描件,压缩打包后 删除他  省的碍眼  备份是因为怕哪天用的着   这里是往scan.zip里面塞(增量备份),随着时间的流逝 这个文件越来越牛逼,就跟怀孕了一样。当你的磁盘空间爆满的时候,可能你会想起来删掉他
@del /f /q scan*.pdf


@del /f /q /s "%temp%*.*"        //接下来是清理垃圾
@del /f /q /s "%windir% emp*.*"
@del /f /q /s "%windir%Downloaded Program Files*.*"
@del /f /q /s "%appdata%LocalMicrosoftWindowsTemporary Internet Files*.*"

@del /f /q /s "%windir%SoftwareDistributionDOWNLOAD*.*"       //清理下载的升级补丁包
@del /f /q /s "%windir%Installer$PatchCache$Managed*.*"       //清理升级后升级过程中产生的临时文件 类似文件夹如下列绿颜色例举:(添加这些文件夹作为删除目标时,请慎重!如果你要卸载装过的补丁 那这些你最好不要删 如果你已经彻底关掉了自动更新 从不打补丁 也不卸载补丁  那就无所谓 可以删)  (不过即使是这样  也是是里面的文件 可以删  文件夹不能删哦)

C:WindowswinsxsBackup
C:WindowsInstaller$PatchCache$
C:WindowsSoftwareDistributionDownload
C:Windows$NtUninstall*
C:Windows$hf_mig$
 
@rd /s /q c:$Recycle.Bin             清空回收站(这种方式清空后,你的桌面回收站图标显示是没有变化的,解决办法就是 把 满  的图标也设置成  和 空 的时候一样)
@rd /s /q d:$Recycle.Bin
@rd /s /q e:$Recycle.Bin
@rd /s /q f:$Recycle.Bin
@rd /s /q g:$Recycle.Bin
@rd /s /q h:$Recycle.Bin
@rd /s /q i:$Recycle.Bin
@rd /s /q j:$Recycle.Bin
@rd /s /q k:$Recycle.Bin
@rd /s /q l:$Recycle.Bin                // 一般人电脑盘符也就这么多吧 即使把你的装小姐姐大姐姐的移动硬盘全插上    额,提醒一下,用这个方式清理回收站之前的时候  可千万别把小姐姐藏回收站里面,会被删掉的。


还有一个有意思的
我弄了一个 循环60天自动覆盖的文件夹
原理是 每天检查一下有没有60天前的文件,有就找出来删掉  
@FORFILES /S /D -60 /C "cmd /c IF @isdir == TRUE del /F /S /Q @path"     //这段单独写个批处理放 那个60天循环的文件夹里面   在这个每天关机执行的(或者每天开机执行的)批处理里面调一下
这也是网上大佬给的代码

问题是 这个批处理要放到 和被删的文件同一个文件夹里才行
假设60天过去了,那他自己不是也被删了吗?
怎么才能给自己不断续命,永葆秦春呢
方法便是:
@copy /b 60days.bat +
复制自己替换自己(我重生我自己?有点意思)

最后就是关机咯

shutdown -s -t 0

等你按照这些来测试的时候会发现,tmd 备份是做了(前提是今天没备份过)  但是也没关机啊! 擦,问题出在哪里呢。。。。最后拍脑瓜判断,关机估计是要最高权限,而批处理执行可能只是用户权限或者一般管理员权限
网上搜了一下  发现一个大佬写了段代码如下:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
说是放床头。。。咳咳,呕不,是放1.bat这个文件的开头
试了一下 ,果然可以,这位大佬牛逼啊,请收下我的乞丐。。。对,,,乞丐,也就是我。。。。

好了,这个功能成功实现了。
每天关机前备份资料,清理垃圾,并记录今天的关机时间。如果一天多次关机 则只在第一次关机时才备份和清理
功能方法实现都在这里了。

哦,记住。那个 系统里面的时间日期设置 默认的要改掉  改成  yyyy-mm-dd   不然的话,会搞的你挠头
 

凡本站注明“本站”或“投稿”的所有文章,版权均属于纪涛博客或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。本站已授权使用的作品,应在授权范围内使用,并注明“来源:纪涛博客”并附上链接。违反上述声明者,本站将追究其相关法律责任。

编辑:68up.com 关键词:

网友评论

随机推荐

图文聚集

热门排行

最新文章

新浪微博 腾讯微博 RSS订阅