見出し画像

[GAS][Googleドライブ]指定したフォルダの配下のフォルダ名やファイル名をリネームする

こんばんは、ドライブのファイル管理が苦手な な~ です。

これは、LIGで紹介されていたソースを改造した話です。

GASで指定したフォルダ以下のフォルダ名をリネームするプログラムを作成しました。といってもほとんど流用です。

GASを使ってGoogleドライブの指定フォルダにファイルを一括コピーする

こちらは、あの有名なLIG様で紹介されていました。

これです!これもコピーを簡単にできないドライブでは大活躍です。

フォルダ名をリネームするプログラム

こちらは、テンプレートのファイルなどをコピーしてリネームする際にリネーム用として作成しました。

/**
* フォルダの中のファイルをリネームする
*
* @srcFolder {ドライブ} 対象フォルダ
* @taisyoString {string} 変更前文字列
* @newString {string} 変更後文字列
*/
function renameDriveFolder(srcFolder, motoStr, newStr) {
 const srcFiles = srcFolder.getFiles();//フォルダ内ファイルをゲット
 while (srcFiles.hasNext()) {
   const srcFile = srcFiles.next();
   const strFile = srcFile.getName()
   Logger.log(strFile);
   srcFile.setName(strFile.replace(motoStr, newStr));
 }
 var srcFolders = srcFolder.getFolders();//フォルダ内フォルダをゲット
 while (srcFolders.hasNext()) {
   const nextSrcFolder = srcFolders.next();
   strFolder = nextSrcFolder.getName()
   Logger.log(strFolder);
   nextSrcFolder.setName(strFolder.replace(motoStr, newStr))
   renameDriveFolder(nextSrcFolder, motoStr, newStr); //再帰処理
 }
}

といっても、ほとんど一緒です。LIG様ありがとうございます!

まとめ

Googleドライブでたくさんのファイルやフォルダをコピーしたりリネームするのは大変ですが、GASを使うととても簡単です。

この記事が気に入ったらサポートをしてみませんか?