Googleドライブからフォルダ内のファイル数を表示するにはどうすればよいですか?


8

パソコンと同期していないウェブ版のGoogleドライブを使用しています。このフォルダ内のファイル数を表示したい。このフォルダには数百のファイルがあるため、それらをスクロールすることはできません。どうすればこれを実行できますか?

回答:


4

ここからコピーしますが、他のバージョンと非常によく似ています。

// replace your-folder below with the folder for which you want a listing
function listFolderContents() {
  var foldername = "WA";
  var folderlisting = 'listing of folder ' + foldername;
  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();
  var contents = folder.getFiles();
  var ss = SpreadsheetApp.create(folderlisting);
  var sheet = ss.getActiveSheet();
  sheet.appendRow( ['name', 'link'] );
  var file;
  var name;
  var link;
  var row;
  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    sheet.appendRow( [name, link] );     
  }  
};

私はWAテスト用のフォルダーを選択し、結果(名前とURL)が呼び出されたファイルに返されましたlist of folder WA(そのためyour-folder、コメントはWA上記のコードにあります)。

シート(おそらく新しいシート)、[ツール]> [スクリプトエディター]を開き、上記のコードをすべてコードウィンドウにコピーします。コードやプロジェクトに名前を付ける必要はありませんが、コードを保存して承認する必要があります。そこでGoogleはおそらく反対しますが、コードの動作を妨げません。それを実行し、ファイルを見つけに行きますlist of folder xxxx。ファイルの数は、最後のエントリの行番号から読み取ることができます(見出しには1つ少ない)。

10〜19行目を次のように置き換えて、ファイルサイズも返します。

sheet.appendRow( ['name', 'link','size'] );
  var file;
  var name;
  var link;
  var size;
  var row;
  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    size = file.getSize();
    sheet.appendRow( [name, link, size] ); 

私はそれを完全に逃しました、ファイルはそこにあります。うまくいくようです、ありがとう。これを読んでいる人のために注意すべきことが1つだけあります。ディレクトリでは機能せず、ファイルだけです(これは私には問題ではありません)
Skeleton Bow

1
ちなみに、これは一意でない名前のフォルダではどのように機能しますか?名前を一意になるように変更してから、元に戻す必要がありますか?同じ親フォルダー内に同じ名前のフォルダーを2つ入れてみたところ、一番上のフォルダーの情報が出力されているようです。
Skeleton Bow
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.