Transmit5でGoogleDriveのファイルを削除しても消えない
履歴追記2019-03-05
ブログを読んでいただいたみたいで、5.2.4で修正されました。
ブログ拝見し、弊社環境でも再現できましたので Transmit 5.2.4 にて修正致しました。お手数ですがアップデートの上、お試しください。この度は貴重なレポートならびに問題について共有いただき、大変助かりました。ありがとうございました。(の https://t.co/vDQOqrOoLc
— パニック・ジャパン(株) (@PanicJapan) March 5, 2019
GoogleDriveの空き容量を作ろうとTransmit5からファイルの整理をしたんですけど、全然空き容量が増えないので調べました。
調べたといっても実験から得た経験則というか。
とりあえず、Transmit5からGoogleDriveのファイルを削除しても、GoogleDriveの空き容量は増えません。
Transmit5からだと消えたように見えますが、ゴミ箱に行くわけでも、即座に消去されるわけでもなく、「フォルダの中に属さなくなる」という状態になります。
なので、GoogleDriveの中には存在し続けるし、どこのフォルダにも属さないからといってガベージコレクトされて消去されるわけでもありません。
動きからして、これのdelete
を叩いてるんじゃないかと思います。
どこのフォルダにも属さないファイルはWebとかアプリのGoogleDrive上で、マイドライブからたどることができません。なので、検索したりして見つけないと削除できません。
私の場合、大量のファイルをTransmit5から削除していたので、一個一個検索するのは面倒だし、そもそも名前ももはや覚えてないので、GoogleAppsScriptからファイル操作することにしました。
とりあえず、下記のコードを流せば、どこのフォルダにも属さないファイルをゴミ箱に移動させることができます。
function myFunction() {
var i = DriveApp.getFiles();
while(i.hasNext()) {
var f = i.next();
if (!f.getParents().hasNext()) {
r.setTrashed(true);
}
}
}
GoogleAppsScriptの実行時間上限が6分みたいなので、数百ファイルがある場合はタイムアウトします。 上のコードとゴミ箱を空にするを交互に実行して、なんとかしましょう。
こういうバグ報告どこからすればいいんでしょうね? Twitter?