ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

google driveの重複をハイライトするブックマークレットを書いた

google driveの無限ストレージが無くなってしまうのでNasを買ってrcloneで移そうと思ったら NOTICE: xxx/yyy.mp3: Duplicate object found in source - ignoringと言われてgoogle drive上に同じファイルが複数あることがわかった。

どうもアップロードする際にミスして同じファイルを別のものとしてアップロードしてしまったみたい。一応コピーはできているっぽいので方っておいてもいい気もするけど、整理も兼ねて消したい。仕方ないので手作業で削除しようにもめんどくさかったので同名のファイルをハイライトするブックマークレットを書いた*1

github.com

tl;dr

以下のものをコピーして、ブックマークとして保存し、google drive上で実行

javascript:(()=>{(()=>{function a(n){let t=n,l=t.querySelector('[role="gridcell"] div:nth-child(2)').innerText;return{elm:t,title:l}}function i(){let n=document.querySelectorAll('[data-target="doc"]'),t=Array.from(n).map(a).reduce((e,{elm:r,title:o})=>{var c;return e.set(o,[...(c=e.get(o))!=null?c:[],r]),e},new Map),l=!1;t.forEach(e=>{e.length>=2&&(l=!0,e.forEach(r=>{r.style.backgroundColor="rgb(255, 255, 0)"}))}),l&&alert("found duplicate!!")}i()})();})();

使い方

  1. リポジトリをcloneしyarn buildを実行するか、上記のコードをコピー
  2. google driveをブラウザで開き、確認したいフォルダを開く
  3. 画面をスクロールし、全てのファイルを表示させる
  4. コードをbookmarkletか、コンソールを開いて実行

サンプル画像

塗りつぶしているのでわかりにくいが、重複しているファイルが画像のように黄色くハイライトされる

雑感

久しぶりにbookmarklet書いたけど、esbuildでビルドする段階でminifyまですることが可能なのでとても簡単になったな

*1:rcloneのログがリストとしてあるんだけどなんとなく削除を自動化するのは怖かった