在群晖中批量删除重复文件(零基础手把手图文)

2020-03-26 14:51:01 44点赞 397收藏 74评论

追加修改(2021-02-28 21:43:57):
2020-03-26 鉴于一些朋友使用后反馈的问题 xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option 可以换一段脚本: sed -r "s/(^|$)/"/g;s/'/'/" "【文件路径】" | xargs -I {} -l1 rm -f "{}" 中间 文件路径替换成实际路径即可 如: sed -r "s/(^|$)/"/g;s/'/'/" "/volume1/homes/blqw/repeat_files.txt" | xargs -I {} -l1 rm -f "{}" 2021.02.28 新脚本报错: 报错:sh: -c: line 0: unexpected EOF while looking for matching `"' sh: -c: line 1: syntax error: unexpected end of file 应该是少了一个反斜杠, 我不确定是我复制的时候丢了还是审核完之后丢了, 只能再追加一次 sed -r "s/(^|$)/【反斜杠】"/g;s/'/'/" "【文件路径】" | xargs -I {} -l1 rm -f "{}" 中间 文件路径替换成实际路径即可 如: sed -r "s/(^|$)/"/g;s/'/'/" "/volume1/homes/blqw/repeat_files.txt" | xargs -I {} -l1 rm -f "{}"

追加修改(2020-05-04 02:13:32):
鉴于一些朋友使用后反馈的问题 xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option 可以换一段脚本: sed -r "s/(^|$)/"/g;s/'/'/" "文件路径" | xargs -I {} -l1 rm -f "{}" 中间 文件路径替换成实际路径即可 如: sed -r "s/(^|$)/"/g;s/'/'/" /volume1/homes/blqw/repeat_files.txt | xargs -I {} -l1 rm -f "{}"


  重要提示:我接下来提供的方法是一次性的,并非自动化脚本,作用仅仅是在重复文件太多时候手动执行一次。上网确实有自动化的脚本,但是个人比较谨慎,不太想用那种,毕竟万一在群晖中批量删除重复文件(零基础手把手图文)


  步骤我尽量写的详细一点,已经会的可以跳过:

  1. 安装“存储空间分析器”套件

  2. 配置“重复文件候选”报告,并生成报告

  3. 查看并下载报告

  4. 用excel打开报告并筛选出需要删除的文件 `=IF(A2=A1,1,"")`

  5. 上传文件到群晖,并配置计划任务 `cat 文件路径 | xargs -I {} rm -f "{}"`

  6. 执行并删除计划任务


重点在4,5,其他步骤已经会的同学可以直接忽略其他步骤


1. 安装“存储空间分析器”套件

安装打开步骤安装打开步骤

2. 配置“重复文件候选”报告,并生成报告

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

3. 查看并下载报告

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

4. 用excel打开报告并筛选出需要删除的文件

在群晖中批量删除重复文件(零基础手把手图文)

公式: =IF(A2=A1,1,"")

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

5. 上传文件到群晖,并配置计划任务

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

任务脚本: cat 文件路径 | xargs -I {} rm -f "{}"

6. 执行并删除计划任务

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)

在群晖中批量删除重复文件(零基础手把手图文)


在群晖中批量删除重复文件(零基础手把手图文)


展开 收起
74评论

  • 精彩
  • 最新
  • 大佬 试了新的脚本还是没有解决问题 报错:sh: -c: line 0: unexpected EOF while looking for matching `"'
    sh: -c: line 1: syntax error: unexpected end of file

    校验提示文案

    提交
    sed -r "s/(^|$>/【反斜杠】"/g;s/'/'/" "文件路径" | xargs -I {} -l1 rm -f "{}"
    有一个反斜杠 不知道是不是发出来的时候被转义了

    sed -r "s/(^|$>/\"/g;s/'/'/" "文件路径" | xargs -I {} -l1 rm -f "{}"

    校验提示文案

    提交
    收起所有回复
  • 运行脚本后没有删除相应文件,此命令是否依赖相关插件?

    校验提示文案

    提交
    不需要插件,系统的rm命令,必然有的

    校验提示文案

    提交
    文件路径不要搞错,路径有空格的时候用双引号包起来,比如"/volume1/home/a b/c d.txt"

    校验提示文案

    提交
    还有15条回复
    收起所有回复
  • 运行程序没有任何反应

    校验提示文案

    提交
    文件路径不要搞错,路径有空格的时候用双引号包起来,比如"/volume1/home/a b"

    校验提示文案

    提交
    收起所有回复
  • 删文件脚本 报错 xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option

    校验提示文案

    提交
    你的文件里有文件名带", 把txt文件里的 "(双引号> 替换成 \"(反斜杠+双引号>

    校验提示文案

    提交
    确实有特殊字符,感谢大佬 [赞]

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 感谢博主及61楼的朋友!已经成功了。

    校验提示文案

    提交
    其实更简单的一个办法,就是直接用自带的文本编辑器,不要用windows的notepad [邪恶]

    校验提示文案

    提交
    收起所有回复
  • 本人亲测,删不掉是因为换行符的问题。解决换行符的方法有很多,小白们尽量使用编辑器来实现。简单介绍一个:下载个nodepad++,打开你的txt文件,然后在编辑器的底部状态栏可以看到CRLF,右键这块,转为LF即可,然后保存即可。

    校验提示文案

    提交
    这个是正解。我一直删不掉,最后用这个方法解决了。

    校验提示文案

    提交
    收起所有回复
  • 白痴小白的我居然成功了!对于没电脑基础的分享一下细节:
    1.制作好的files放进随便一个NAS文件内。(看图我以为必须放进某个文件夹)
    2.Notepad++ 是神器,从Excel制作好的内容直接复制到神器里,系统默认是(CR LF)右下角改为Unix(LF>后保存。
    3.我用的是cat 文件路径 | xargs -I {} rm -f "{}" 命令成功,复杂的试过不行,这个简单的可以。注意保留命令种的空格。
    4.成功与否在文件内的回收站看不到,因为直接清空了,需要到储存空间分析器里查看。找到之前完成的报告,鼠标放上去在右边会出现分析此报告任务,点开,选择“重复文件”后能看到已删除。
    5.WIN10。不要用记事本,直接用神器(参考2.)把Excel已做好的目录复制到神器里,记住在神器右下角设置一下,点保存后输入**.txt。

    校验提示文案

    提交
    我重复了4次,第五次死活不行了。一直报错。

    校验提示文案

    提交
    我也是采用这个方法成功了!

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 咨询个问题 最大复制文件数,我的这边是5000,看图是999999 这个是啥区别 系统版本不同?

    校验提示文案

    提交
    我也想问这个 一次只有5000太少了,

    校验提示文案

    提交
    仔细看文章 [亲亲]

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 开始我也删不掉,研究了一宿,终于明白问题出在哪里了,完美解决。还有困惑的小伙伴可以加我好友我教你,840315598

    校验提示文案

    提交
    加了这位兄弟的QQ,得到了关键的指导。就是TXT文件的问题。Notepad++ 是神器,从Excel制作好的内容直接复制到神器里,系统默认是(CR LF)右下角改为Unix(LF>后保存。然后就正常了。已经成功。感谢UP主及这位兄弟和各位的帮助。

    校验提示文案

    提交
    [大妈三宝] 已经成功,再次感谢!

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 谢谢值友分享,我一开始删除也是没反应,用这段命令就可以了:
    sed -r "s/(^|$)/\"/g;s/'/'/" "/volume1/Synology/files1.txt" | xargs -I {} -l1 rm -f "{}"

    校验提示文案

    提交
    对了!!!用这条可以

    校验提示文案

    提交
    收起所有回复
  • 我知道为什么运行脚本没有反应了,因为重复文件有很多中文名称的。我设置脚本:cat 文件路径,在运行结果里面路径含有中文名称的都是乱码。大神这个有办法解决吗?

    校验提示文案

    提交
  • 我想到的办法是在WIN上映射为网络驱动器,然后再编个python程序或者批处理。

    校验提示文案

    提交
  • 小白慎用shell的rm,这个命令删掉不进回收站,文件很难恢复。还是建议了解每个命令的做用,每一步的目的再进行操作。

    校验提示文案

    提交
  • 运行结果提示无数据

    校验提示文案

    提交
  • 这个教程里面缺少一步会导致很多带空格目录下的文件或带空格的文件无法删除,步骤4里面最后从excel复制到记事本之前,应该在C列前后各插入一个英文输入法状态的双引号“"”,然后把C、D、E列一起复制到记事本或者notepad++,复制到notepad++后前面开头双引号到文件路径之间有几个空格,选中双引号和上后面所有的空格后按住alt+s+r后进入替换界面,替换成英文状态的双引号,全部替换后同理选中某行最后的双引号和双引号前面所有的空格,也全部替换成英文状态的双引号,这样保存的txt文件才可以确保所有文件都能删除。

    校验提示文案

    提交
    用了各种命令包括你这个方法都不行,奇了怪了

    校验提示文案

    提交
    有效

    校验提示文案

    提交
    收起所有回复
  • 摸索了五六天,终于找到CSV文件了,在分析器设置中有一个『报告保存至』的选项,分析完成后到那个目录里就能找到。

    校验提示文案

    提交
  • 如果试了没有报错,但同时没有执行任何删除,试一下在excel这一步,公式改为:IF=(A3=A2,1,””)

    校验提示文案

    提交
  • cat file_list.txt | xargs -I {} cp {} /destination/dir/ (拷贝)
    cat file_list.txt | xargs -I {} mv {} /destination/dir/ (移动)
    cat file_list.txt | xargs -I {} rm -f {} (删除)

    校验提示文案

    提交
  • 支持下
    !!

    校验提示文案

    提交
  • 老哥,有意m6,怎么联系

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
397
扫一下,分享更方便,购买更轻松