web-dev-qa-db-ja.com

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

Googleドライブのウェブ版を使用していますが、これはどのコンピューターとも同期されていません。このフォルダ内のファイルの数を表示したい。このフォルダには何百ものファイルがありますので、それらをスクロールすることはオプションではありません。どうすればこれを行うことができますか?

7
Skeleton Bow

here からコピーされますが、他のバージョンと非常に似ています:

// 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] ); 
3
pnuts