obsidian社区插件
				
				Dataview 实战 - 查找重名文件
				
				
				
				
				
				
				
					插件ID:dataview%E5%AE%9E%E6%88%98-%E6%9F%A5%E6%89%BE%E9%87%8D%E5%90%8D%E6%96%87%E4%BB%B6
					dataview%E5%AE%9E%E6%88%98-%E6%9F%A5%E6%89%BE%E9%87%8D%E5%90%8D%E6%96%87%E4%BB%B6
					dataview%E5%AE%9E%E6%88%98 %E6%9F%A5%E6%89%BE%E9%87%8D%E5%90%8D%E6%96%87%E4%BB%B6:利用dv查找库中的重名文件
				
			Dataview 实战 - 查找重名文件
效果

代码
// 假设您的对象数组为 data
const data = dv.pages();
let countMap = {}; // 用于存储计数的对象
let duplicates = []; // 用于存储重复元素的数组
// 遍历对象数组
data.forEach((element) => {
  let fileName = element.file.name;
  let filePath = element.file.path;
  // 计数
  if (countMap[fileName]) {
    countMap[fileName].count++;
    countMap[fileName].paths.push(filePath);
  } else {
    countMap[fileName] = { count: 1, paths: [filePath] };
  }
});
let dup=0//这是发现了几个dup的name
let flag =0//有重名文件的标志
for (const key in countMap) {
    const element = countMap[key];
    if (element.count > 1) {
      dup++;
      if(dup>0&&flag==0){dv.paragraph("==有重名文件==");flag=1}
      dv.span(`《${key}.md》出现了${element.count}次`);
      const pathstolink = element.paths.map(path => `[[${path}]]`);
      dv.list(pathstolink);
    }
}
if(dup==0){
dv.span("没有重名文件")
}讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。
 
										 
						
										