ac5474012 发表于 2024-11-8 10:58:12

打算给做一个文件备份的软件,大家看看我的思路是否可行。

本帖最后由 ac5474012 于 2024-11-8 11:17 编辑

【需求】
考虑到硬盘总有一天会坏,所以做个备份的东西用于每天备份数据使用。

【计划设想】
做一个程序,开机运行。
每过10秒检测每个磁盘下是否包含 假设: 1.ini 如果有,就将桌面所有文件拷贝进去
这样就等于插入U盘后就开始拷贝了,不过担心这样会不会让电脑变慢...
排除 mp4 U盘大约是64GB的,都拷贝也不够。这样可能也有问题,不如直接计算一下,如果超了就提示吧。
拷贝中检测每个文件的大小,如果相同就不拷贝,应该没问题吧,改了任何一个信息就应该不相同了吧。如果不相同就用电脑的覆盖U盘中的,反正是备份。
拷贝中显示一个气泡或者浮窗显示拷贝,以及拷贝完成。
提前将一些大文件放置在其他盘符。
在U盘中创建一个文件夹,名字是不要将这个文件进行更改复制,将标记文件1.ini放在这个文件夹当中,防止出现BUG。


请大家看看有没有遗漏,或者更好的想法?

862228699 发表于 2024-11-8 11:20:44

云盘了解一下,自动同步

ac5474012 发表于 2024-11-8 13:08:26

862228699 发表于 2024-11-8 11:20
云盘了解一下,自动同步

他不喜欢云盘

itqijian 发表于 2024-11-8 14:15:02

本帖最后由 itqijian 于 2024-11-8 14:18 编辑

简单写过一个同步备份工具,判断文件大小和文件修改时间同步到优盘。因影响到硬盘速度就丢弃了。

itqijian 发表于 2024-11-8 14:16:24

Beyond Compare    可以了解一下是否适合你

ac5474012 发表于 2024-11-8 14:43:25

本帖最后由 ac5474012 于 2024-11-8 14:44 编辑

写好了 分享一下啦

按照名称编译成exe文件后,运行巡查程序就能将桌面所有文件备份到U盘了


U盘备份.exe

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Outfile=Z:\同步\工作\AU3\项目\U盘备份桌面\U盘备份.exe
#PRE_Compression=4
#PRE_Res_Fileversion=0.0.0.4
#PRE_Res_Fileversion_AutoIncrement=p
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#Region ACN预处理程序参数(常用参数)
;#PRE_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
;#PRE_Run_Tidy=                                                   ;脚本整理
;#PRE_Run_Obfuscator=                                                      ;代码迷惑
;#PRE_Run_AU3Check=                                                         ;语法检查
;#PRE_Run_Before=                                                               ;运行前
;#PRE_Run_After=                                                                ;运行后
;#PRE_UseX64=n                                                                        ;使用64位解释器
;#PRE_Compile_Both                                                                ;进行双平台编译
#EndRegion ACN预处理程序参数设置完成
#cs ____________________________________

Au3 版本:
脚本作者:
电子邮件:
      QQ/TM:
脚本版本:
脚本功能:

#ce _______________脚本开始_________________

;检测目标磁盘


      Sleep(500)
$pan=panfufanhui()

If $pan = "0" Then
;~         MsgBox(0,"6",$pan)
      Else
FindAllFile(@DesktopDir,$pan)
EndIf





Func panfufanhui()      
      Local $var = IniReadSection("config.ini", "panfu")
If @error Then
    MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
    For $i = 1 To $var
;~         MsgBox(4096, "", "关键字: " & $var[$i] & @CRLF & "值: " & $var[$i])

$panfu=$var[$i]

Local $var1 = IniRead($panfu&":\请勿删除复制此文件夹\请勿删除复制此文件.in","miyao", "fuzhi","NotFound")
If $var1 = "y" Then巡查程序.exe
#Region ACN预处理程序参数(常用参数)
#PRE_Icon=                                                                                 ;图标,支持EXE,DLL,ICO
#PRE_OutFile=                                                                        ;输出文件名
#PRE_OutFile_Type=exe                                                      ;文件类型
#PRE_Compression=4                                                                ;压缩等级
#PRE_UseUpx=y                                                                         ;使用压缩
#PRE_Res_Comment=                                                               ;程序注释
#PRE_Res_Description=                                                      ;详细信息
#PRE_Res_Fileversion=                                                      ;文件版本
#PRE_Res_FileVersion_AutoIncrement=p                        ;自动更新版本
#PRE_Res_LegalCopyright=                                                 ;版权
#PRE_Change2CUI=N                                           ;修改输出的程序为CUI(控制台程序)
;#PRE_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
;#PRE_Run_Tidy=                                                   ;脚本整理
;#PRE_Run_Obfuscator=                                                      ;代码迷惑
;#PRE_Run_AU3Check=                                                         ;语法检查
;#PRE_Run_Before=                                                               ;运行前
;#PRE_Run_After=                                                                ;运行后
;#PRE_UseX64=n                                                                        ;使用64位解释器
;#PRE_Compile_Both                                                                ;进行双平台编译
#EndRegion ACN预处理程序参数设置完成
#cs ____________________________________

Au3 版本:
脚本作者:
电子邮件:
      QQ/TM:
脚本版本:
脚本功能:

#ce _______________脚本开始_________________

While 1
      Sleep(10000)
$pan=panfufanhui()

If $pan = "0" Then
;~         MsgBox(0,"6",$pan)
      Else
RunWait("U盘备份.exe")
MsgBox(0,"备份完成","请卸载拔出U盘后再点击确定即可")
EndIf

WEnd

Func panfufanhui()      
      Local $var = IniReadSection("config.ini", "panfu")
If @error Then
    MsgBox(4096, "", "错误, 读取INI文件失败.")
Else
    For $i = 1 To $var
;~         MsgBox(4096, "", "关键字: " & $var[$i] & @CRLF & "值: " & $var[$i])

$panfu=$var[$i]

Local $var1 = IniRead($panfu&":\请勿删除复制此文件夹\请勿删除复制此文件.in","miyao", "fuzhi","NotFound")
If $var1 = "y" Then
;~ MsgBox(4096, "结果"&$panfu, $var1)
Return ($panfu)

EndIf
    Next
EndIf

EndFunc



邪恶海盗 发表于 2024-11-8 17:15:32

U盘的可靠性比硬盘更低好几个数量级...


二○二四年十一月八日

风过无痕 发表于 2024-11-12 17:30:00

用U盘备份就算了吧,可靠性太差。另如果是两台电脑局域网备份,你就用自同步就行。如果是跨网备份用微力同步就行
页: [1]
查看完整版本: 打算给做一个文件备份的软件,大家看看我的思路是否可行。