指定したGoogle ドライブのファイル一覧をスプレッドシートに出力するGoogle Apps Scriptです。最終更新日時やオーナー、URLも出力するのでフォルダ整理する時に使えるかも。
特にありません。今お使いのスプレッドシートに組み込めます。
指定したドライブにあるファイルを、スプレッドシート上にリストアップします。
ファイル名に加え、最終更新日時、オーナー、ファイルのURLも出力します。
このスクリプトはA1セルを起点にファイルリストを出力します。新しいシートを作成することをおすすめします。
上のメニューに有る「スクリプト実行」から「ファイル一覧を取得する」を実行します。
ファイルリストを取得したいGoogleドライブのフォルダのURLを入力してください。
入力できるのは1つのURLだけです。
すこし待つと一覧が出力されるはずです。スクリーンショットのメールアドレスはダミーです。
このスクリプトは処理が重めで、約50個のファイルがあるフォルダを指定した場合の実行時間は約10秒でした。
GASの最大実行時間(6分)を考えると、1つのフォルダに1800個以上のファイルがあると処理しきれないと思います。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00046/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('ファイル一覧を取得する', 'get_file_list_from_drive');
// メニューを画面に追加する
menu.addToUi();
}
function get_file_list_from_drive() {
// UIの取得
const ui = SpreadsheetApp.getUi()
// アクティブなスプレッドシート、シートを取得
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 対象のGoogleドライブのURLを入力させる
const input = ui.prompt('GoogleドライブフォルダのURLを入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (input.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// フォルダのURLを取り出す
const url = input.getResponseText();
// フォルダURLからID部分を取得する
const folder_id = url.replace(/^https:.*folders\//, '');
// フォルダ内のファイルを取得する
const files = DriveApp.getFolderById(folder_id).getFiles();
// シート書き込み用の配列を準備
const result = [];
// ファイルの数だけ情報を取得する
for (let i = 0; files.hasNext(); i++) {
let file = files.next(); //ファイルを取得
let filename = file.getName(); //ファイル名を取得
let last_modified = file.getLastUpdated(); //最終更新日時を取得
let owner = file.getOwner().getEmail(); //ファイルオーナーのメールアドレスを取得
let file_url = file.getUrl(); //ファイルのURLを取得
result.push([filename, last_modified, owner, file_url]); //シート書き込み用の配列に追加
}
result.unshift(['ファイル名', '最終更新日時', 'オーナー', 'URL']); //項目名を追加
// 書き込む内容に応じた書き込み範囲を定義
const range = sheet.getRange(1, 1, result.length, result[0].length);
// シートへの書き込みを実行
range.setValues(result);
}
指定したフォルダ内のすべてのファイルに、プレフィックス(接頭辞)を付与するGoogle Apps Scriptです。例えばスマホで撮影した写真のファイル名に「yyyy/mm/dd 運動会_元のファイル名.jpg」のように変更することができます。
フォルダ内のすべてのファイルを対象に、ファイル名の一部を消すことが出来るGoogle Apps Scriptです。ドライブでファイルのコピーをすると「のコピー」が付与されますがこのような文字列を消すことができます。
ファイル名の先頭にファイルの作成日を追加するGoogle Apps Scriptです。ドライブのファイル一覧で表示されるのは「最終更新日」だけで、作成日は各ファイルをクリックして右ペインを見ないとわかりません。わからないならファイル名に追加してしまおうというスクリプトです。「yyyy-mm-dd_元のファイル名」のように変えることができます。
最終更新日時からN時間以上経過したファイルを削除するGoogle Apps Scriptです。GASが自動的に吐き出すログファイルや、不要なファイルの一括削除に使えます。「削除」といってもゴミ箱へ移動する処理なので、誤って実行しても復元が可能です。
指定したファイルを指定した回数だけコピーするGoogle Apps Scriptです。テンプレートを受講者分コピーしたいときなどに。
シートに記載したファイルURLを元に、親フォルダの名前とURLを出力するGoogle Apps Scriptです。
Googleドライブ上でファイル名が重複しているものを探すGoogle Apps Scriptです。同じ名前のファイルに苦しめられている方、いかがですか?
シートにGoogleドライブのファイル(URL)を記載すると、そのファイルを削除してくれるGoogle Apps Scriptです。