概要
ラズパイで撮影した写真をGoogleDriveに転送するようにしたので、GoogleDrive側でGASを1時間に1回動かしてファイル操作をしています。初めてGASに触りましたが、Web上の情報を寄せ集めて作ることができました。
このスクリプトでは、「XXXXXXXXXXXXXXXXXXXXXX」というディレクトリで、以下の事をしています。
- Photo.jpgがあれば、日付情報の名前にリネームして「YYYYYYYYYYYYYYYYYYYYYYY」ディレクトリに移動する。
- New_Photo.jpgがあれば、Photo.jpgにリネームする。
ソースコード
function myFunction() {
// ディレクトリのIDを取得
var Input_dir = DriveApp.getFolderById("XXXXXXXXXXXXXXXXXXXXXX");
var Output_dir = DriveApp.getFolderById('YYYYYYYYYYYYYYYYYYYYYYY');
//フォルダ内にある全てのファイルを取得
var LIST = Input_dir.getFiles();
var Input_File_name = "Photo.jpg"
var Input_NewFile_name = "New_Photo.jpg";
//Photo.jpgがあればリネーム
while(LIST.hasNext()){
if(LIST.next() == Input_File_name){
Logger.log("Photo.jpg move.");
var Input_File = Input_dir.getFilesByName(Input_File_name).next();
// 日付日時情報にリネームして別のフォルダに出力
var OutputFileName = Input_File.getName().replace('.jpg', '')+'_'+Utilities.formatDate(new Date(), 'JST', 'yyyyMMddHHmm')+'.jpg'
Input_File.makeCopy(OutputFileName, Output_dir);
Input_File.setTrashed(true);
}
}
var LIST = Input_dir.getFiles();
//New_Photo.jpgがあればリネーム
while(LIST.hasNext()){
if(LIST.next() == Input_NewFile_name){
Logger.log("New_Photo.jpg move.");
var Input_NewFile = Input_dir.getFilesByName(Input_NewFile_name).next();
// Newを消してファイルをリネーム
var OutputFileName = Input_NewFile.getName().replace('New_', '')
Input_NewFile.makeCopy(OutputFileName, Input_dir);
Input_NewFile.setTrashed(true);
}
}
}
0 件のコメント:
コメントを投稿