【强塞】使用BAT脚本自动打包文件夹用于Resilio Sync同步

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

在Resilio Sync的任务文件夹内,会有一个隐藏的.sync文件夹,其内有一个IgnoreList文件,其中列出的文件在扫描传输时会被忽略,在其结尾追加下边两行:

*\*
*/*

[将此处节点称为节点A]

其效果是,对于与.sync同级的文件夹,该文件夹内的文件或子文件夹将不会被同步出去,已经同步出去的并不会被删除,但是将收不到来自节点A的针对该文件夹内容的后续变更。对于其他拥有写权限的节点,其对匹配文件夹内容的修改也应该也会被节点A忽略。

上一段表述中一直在强调【文件夹下的内容】,是因为目前并没有探明如何【区别文件夹与非文件夹,然后只排除文件夹(连带内容)】,所以仍然会同步一个空文件夹出去。。不过相对来说还是可以接受的。

[相对什么可以接受?]

用归档文件来提升移动硬盘的小文件写入性能,可行吗?:
https://meta.appinn.net/t/topic/18911

其实不管是用Resilio Sync或其他网盘方案上传同步,还是分区/介质之间拷贝移动,大量的小文件传输都是很耗时间的。

以下引用出自上边贴子的16楼

jerrylus:

我自己迁移大量小文件是打包(zip,压缩级别不压缩),因为大量小文件迁移的时候不仅需要迁移数据本身,同时也需要修改文件系统内的文件索引,而创建/修改索引的操作通常导致一部分写入次数的放大(复制一个文件还要去创建对应的文件夹层级、元数据…)。体感上,虽然有打包/解包的时间,但是相对于直接复制,还是能快很多的。


对于需要时不时更新的文件夹,尤其是类似Resilio Sync这样的使用场景,可以配合前边说的排除规则然后使用下边的脚本实现自动打包和更新。

@echo off

REM 执行时遍历与脚本自身同级的文件夹并打包
REM 如果已经存在相应压缩包时则比较时间,,如果文件夹时间比压缩包时间新则重新压缩
REM 文件夹的时间为该文件夹的直接子文件或子文件夹的创建时间(最新的那一个)
REM 可通过在文件夹在新建空白文件后删除强制更新时间 ←← 比较蛋疼,求更科学的方案

REM zip_path为存放压缩包的目录,文件夹请事先创建好;
REM 默认为脚本所在目录

REM set zip_path=E:\test\

if not defined zip_path (
  set zip_path=%~dp0
)
set x_path=%~dp0
echo %x_path%
for /f %%i in ('dir /ad-h /b /od') do (
  echo %%~ni
  echo %%~ti
  if not exist "%zip_path%%%~ni.zip" (
    cd %x_path%%%~ni
    "C:\Program Files\WinRAR\WinRAR.exe" a -r -m4 -ep1 "%zip_path%%%~ni.zip" *
  ) else (
    for /f %%j in ('dir %zip_path%%%~ni.zip /b') do (
      echo %%~tj
      if %%~ti GTR %%~tj (
        del "%zip_path%%%~ni.zip"
        cd %x_path%%%~ni
        "C:\Program Files\WinRAR\WinRAR.exe" u -r -m4 -ep1 "%zip_path%%%~ni.zip" *
      )
    )
  )
  echo ----------------
  cd %x_path%
)
pause

REM EQU - 等于
REM NEQ - 不等于
REM LSS - 小于
REM LEQ - 小于或等于
REM GTR - 大于
REM GEQ - 大于或等于

爱发电

本文标题:《【强塞】使用BAT脚本自动打包文件夹用于Resilio Sync同步》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20200916854.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

爱发电支持者

最新留言

友情链接