フォルダ内のすべてのファイルを対象に、ファイル名の一部を消すことが出来るGoogle Apps Scriptです。ドライブでファイルのコピーをすると「のコピー」が付与されますがこのような文字列を消すことができます。
ファイル名を変えたいファイルを、1つのフォルダにまとめて保存しておきます。
ファイル名を変えたいファイルが入っているフォルダのURLを取得します。
ファイルが入っているフォルダを開いて、アドレスバーに表示されているURLをコピーしてください。
スクリプトを起動します。
メニューから「ドライブのファイル名の一部を削除」を実行します。
書き換え対象のURLが聞かれますので、STEP1でコピーしたURLを入力します。
ファイル名から削除する文字列を聞かれます。「元のコピー」など好きな文字列を入力してください。
しばらく待つと「完了しました! フォルダを確認してください」というメッセージが表示されます。
画像が保存されているGoogleドライブフォルダを確認してください。ファイル名が変わっているはずです。
もし反映されていない場合はリロードすることで反映されるはずです。
消去する文字列に入力された内容によっては、ファイル名すべてが消えてしまう場合があります。
消えてしまう場合は「ファイル名がすべて消えてしまいます。処理を中止します。」というメッセージを表示して処理を中止します。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00025/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
var ui = SpreadsheetApp.getUi()
// メニューの表示名
var menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('ドライブのファイル名の一部を削除', 'delete_filename_drive_files');
// メニューを画面に追加する
menu.addToUi();
}
function delete_filename_drive_files() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// URLを入力する
const url = ui.prompt('対象のフォルダURLを入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたら終了する
if(url.getSelectedButton() == ui.Button.CANCEL){
return;
}
// プレフィックスを入力する
const pattern = ui.prompt('ファイル名から削除したい文字列を入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたら終了する
if(pattern.getSelectedButton() == ui.Button.CANCEL){
return;
}
// URLからフォルダIDを取得する
// https://drive.google.com/drive/folders/この部分がID
const drive_id = url.getResponseText().match(/^.*\/folders\/(.+)$/)[1];
// フォルダを取得する
const folder = DriveApp.getFolderById(drive_id);
// フォルダ内のファイルを取得する
const files = folder.getFiles();
// ファイルの数だけループ処理する
while(files.hasNext()){
// ファイルを取得
let file = files.next();
// 変更前のファイル名を取得
let filename_before = file.getName();
// 変更前のファイル名から、入力された削除文字列パターンを削除して、新しいファイル名を作成
let regex = new RegExp(pattern.getResponseText(), 'ig');
let filename_after = filename_before.replace(regex, '');
// ファイル名がカラになってしまった場合はエラーを表示する
if(filename_after == ''){
ui.alert('ファイル名がすべて消えてしまいます。処理を中止します。');
return;
}
// ファイルの名前を変更する
file.setName(filename_after);
}
// 完了メッセージの表示
ui.alert('完了しました! フォルダを確認してください');
}
指定したフォルダ内のすべてのファイルに、プレフィックス(接頭辞)を付与するGoogle Apps Scriptです。例えばスマホで撮影した写真のファイル名に「yyyy/mm/dd 運動会_元のファイル名.jpg」のように変更することができます。
ファイル名の先頭にファイルの作成日を追加するGoogle Apps Scriptです。ドライブのファイル一覧で表示されるのは「最終更新日」だけで、作成日は各ファイルをクリックして右ペインを見ないとわかりません。わからないならファイル名に追加してしまおうというスクリプトです。「yyyy-mm-dd_元のファイル名」のように変えることができます。
最終更新日時からN時間以上経過したファイルを削除するGoogle Apps Scriptです。GASが自動的に吐き出すログファイルや、不要なファイルの一括削除に使えます。「削除」といってもゴミ箱へ移動する処理なので、誤って実行しても復元が可能です。
指定したGoogle ドライブのファイル一覧をスプレッドシートに出力するGoogle Apps Scriptです。最終更新日時やオーナー、URLも出力するのでフォルダ整理する時に使えるかも。
指定したファイルを指定した回数だけコピーするGoogle Apps Scriptです。テンプレートを受講者分コピーしたいときなどに。
シートに記載したファイルURLを元に、親フォルダの名前とURLを出力するGoogle Apps Scriptです。
Googleドライブ上でファイル名が重複しているものを探すGoogle Apps Scriptです。同じ名前のファイルに苦しめられている方、いかがですか?
シートにGoogleドライブのファイル(URL)を記載すると、そのファイルを削除してくれるGoogle Apps Scriptです。