GoogleDrive内のファイル整理の効率化
GoogleDrive内にファイルが増えてしまい、必要なデータがどこにあるわからなくなる。。
移動するときもDriveの読み込みが遅く時間がかかっていたのでGASで効率化しようと思い考えました!
Drive内のファイル整理が劇的に楽になります!
①用意するもの
・情報を書き出すシート
・下記シートをSpreadsheetで開いてください
・開くとこんな感じのシートになってます
・右側の図形は後でスクリプトを割り当てます
・ダウンロードした際、図形消えていたら作成してください!
②スクリプト
・ファイル→New ▶ スクリプトファイルをクリック
・スクリプトファイルを作成し下記をコピペしてください
・画像URL書き出し、シートクリア用スクリプト
function getFileListInFolder() {
//フォルダのURLを入力してもらいIDを指定して、SpreadSheet の シート1に、ファイル名と、URLを取得して、SpreadSheet に書込み
try{
var folder_name = Browser.inputBox('ファイル名指定');
var folder_id=folder_name.replace('https://drive.google.com/drive/folders/','');
folder = DriveApp.getFolderById(folder_id);
files = folder.getFiles();
list = []; //この変数のファイル名・URLが入っていきます
rowIndex = 1; // The starting row of a range.
colIndex = 1; // The starting row of a column.
var ss;
var sheet;
var range;
sheetName = '画像URL書き出し用'; //書き出し用のシート名を記載
list.push(["ファイル名","URL","ファイルサイズ"]);
while(files.hasNext()) {
var buff = files.next();
list.push([buff.getName(), buff.getUrl(), buff.getSize()]);
};
ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
range = sheet.getRange(rowIndex, colIndex, list.length, list[0].length);
// 対象の範囲にまとめて書き出します
range.setValues(list);
}catch(e){
Browser.msgBox(e);
}
}
function clearSheet(){
//画像URL書き出し用を全部クリア
try{
var ss;
var sheet;
var range;
sheetName = '画像URL書き出し用'; //データを削除したいシート名を記載
ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
// 全クリア
range = sheet.clear();
}catch(e){
Browser.msgBox(e);
}
}
・ファイル移動用スクリプト
//以下をコピペしてご利用ください
//プログラム0|プログラム名を付ける
function moveFile() {
//プログラム1|スプレッドシートの情報を取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = 'ファイル移動用'; //書き出し用のシート名を記載
var sheet = spreadsheet.getSheetByName(sheetname);
//プログラム2|フォルダパスの情報を取得する
var folderurl = sheet.getRange('B1').getValue();
//プログラム3|フォルダパスの情報を取得する
var myArray= folderurl.split('/');
var folderid = myArray[myArray.length-1];
//プログラム4|移動したいファイルURLを取得する
var Lastrow = sheet.getLastRow();
var myRange = sheet.getRange(4, 1, Lastrow-3).getValues();
//プログラム5|移動先のフォルダIDを取得する
var folder = DriveApp.getFolderById(folderid);
//プログラム6|ファイルを移動する
for (var i = 0; i < myRange.length; i++) {
if (myRange[i][0] !== ''){
var myArray = myRange[i][0].split('/')
var file = DriveApp.getFileById(myArray[5]);
file.moveTo(folder);
}
}
}
③スクリプトを図形に割り当てます
図形の右クリックメニューでスクリプト割り当てます
③移動元ファイルURLを書き出す
フォルダIDをコピーする
・DriveのURL、folders/移行がフォルダIDです!
・https://drive.google.com/drive/folders/XXXXX
・画像URL書き出しのスクリプトを実行、フォルダIDを記載する
・画像URL書き出し用タブにファイル名URLが書き出される
④データ移動先フォルダのURL指定する
・移動先フォルダのURLをシートB1セルに記載
・A4移行に③で書き出したファイルURLをコピペ
・「②ファイル移動」スクリプトを実行する
ファイルが移動される!!
次回利用する際は「③画像URLクリア」で前回の情報削除して「①画像URL書き出し」からスタートしてください!
・参考にした記事(ほぼコピペです...)
・ファイル移動について
・ファイルデータ取得について
この記事が気に入ったらサポートをしてみませんか?