我现在有一个需求,想要对比两个目录的文件名,看看两个文件夹里的文件是不是一样。但是要忽略扩展名。
比如说一个文件夹里面是MP4文件,有几个文件夹,有几十个视频文件。然后统一转换成MP3,文件名一样,扩展名不同。
那转换完成后我想看看哪个文件没有转换完成。所以要忽略扩展名来对比。
所以请问有类似的工具吗?
我现在有一个需求,想要对比两个目录的文件名,看看两个文件夹里的文件是不是一样。但是要忽略扩展名。
比如说一个文件夹里面是MP4文件,有几个文件夹,有几十个视频文件。然后统一转换成MP3,文件名一样,扩展名不同。
那转换完成后我想看看哪个文件没有转换完成。所以要忽略扩展名来对比。
所以请问有类似的工具吗?
换个思路,可以先把文件名列表复制出来,去掉扩展名,再用文本对比工具对比。
我感觉是不是可以用命令行输出到excel再对比
Beyond Compare
Compare files and folders using simple, powerful commands that focus on the differences you’re interested in and ignore those you’re not.
目录结构:
主目录:before文件夹,after文件夹,下面的py文件
before子目录:含mp4文件
after子目录:含mp3文件
运行结果:仅比较名称,输出before目录有而after目录无的东西
from pathlib2 import Path
def path_to_name(p: list):
name_set = set()
for pi in p:
name_set.add(pi.stem)
return name_set
p = Path(".")
before_set = path_to_name(list(p.glob("before\\*.mp4")))
after_set = path_to_name(list(p.glob("after\\*.mp3")))
print(before_set-after_set)
1、在A文件夹上,使用everything查看其下所有文件,可导出csv文件。
2、在B文件夹上,使用everything查看其下所有文件,可导出csv文件。
3、将两个csv文件内容粘贴到excel中对比一下。
用everything,非常简单。
把两个文件夹的名字输入到搜索栏,中间用符号 | 隔开,表示或者。
ctrl+1,以名称排序。
ctrl+shift+3,以中图标显示。
调节窗口大小,显示偶数列。
一目了然了,现在~
每当有错位发生,说明那里存在未完成的文件。
beyond compare收费,于是我就用这个了.
试了下 Beyond Compare 可以做到,在「规则」-「比较」中把「按不同的扩展名对齐文件名」勾上就行了。我用的是 4.2.6 版本,不确定最新版本的菜单名称是否有变化了。
这个例子是不是只能将123.mp3和123.mp4视为等同?如果是123.aac就不适用了?
我猜写成 *.{mp3, aac} 应该是可以的
用了这么久 BeyondCompare,现在才知道有规则的项……
一直都只用来对比文件夹结构和同步文件了,浪费了
可以添加多条规则
你再添加一条*.mp3=*.aac
就可以了啊
有没有忽略后缀名的选项?
有。