Jpcanada留学センター

注意事項:当サイトのコンテンツをご利用いただく全ての方は、利用規約に同意したものとみなします。 このサイトの掲示板は情報交換やコミュニケーションが目的で設置されています。投稿内容の信憑性については、 各個人の責任においてご判断下さい。全ての投稿において、投稿者には法的な責任があることをご認識ください。
また、掲示板上で誹謗・中傷を受けた場合は、速やかにサイト管理者までご連絡をお願いいたします。

パソコン勉強室

パソコンやインターネットに関する事なら何でもOKです。
協力し合いながら、皆でパソコンに強くなりましょう。


No.4396

app scriptでわからないことがあります

by 無回答 
from 無回答 
2025-02-18 16:53:40 CA

コードはこちらです。

フォルダにはサブフォルダ
(例)"12345_Name"が複数あります。

またPDFファイルもあります。
名前はさまざまです。
Copy of 12345 document.pdf
12345 file 2024.pdf
などです。

フォルダと同じ名前のファイルはフォルダに振り分けることはできました。

しかし、フォルダと一部だけ名前が同じファイルの振り分けができません。

同じID番号、12345のつくファイルは12345_Nameのフォルダに振り分けたいです。

調べてみたのですが、どうしてもPDFファイル名に含まれる数字を認識してくれません。
ChatGTPと修正を試みましたが、できませんでした。

どなたかどこを修正すればいいのか教えていただけませんか?

私は全くの初心者で、ネットで調べたコードをコピーして、一つ一つの行の意味を調べながら、分かる範囲で付け加えたり削除したりしています。

よろしくお願いします。

function organizeFilesByNumberMatch() {
var parentFolderId = 'フォルダ名'; // 親フォルダのIDを指定
var parentFolder = DriveApp.getFolderById(parentFolderId); // 親フォルダを取得

var folders = {}; // フォルダ名とオブジェクトをマッピング
var subFolders = parentFolder.getFolders();
while (subFolders.hasNext()) {
var folder = subFolders.next();
var folderName = folder.getName();
var folderNumber = folderName.match(/\d+/); // フォルダ名から数字部分を抽出

if (folderNumber) {
folders[folderNumber[0]] = folder; // 数字部分をキーにしてフォルダを保存
}
}

var files = parentFolder.getFiles();
while (files.hasNext()) {
var file = files.next();
var fileName = file.getName();
var fileNumber = fileName.match(/\d+/); // ファイル名から数字部分を抽出

if (fileNumber) {
var number = fileNumber[0];
if (folders[number]) { // 一致するフォルダがあれば移動
try {
file.moveTo(folders[number]);
Logger.log('Moved "' + fileName + '" to "' + folders[number].getName() + '"');
} catch (e) {
Logger.log('Error moving "' + fileName + '": ' + e.message);
}
}
}
}
}

あなたの情報

お名前 Name 任意

お住まい Area 任意

左で「その他」を選んだ方

Email任意

※Emailは非公開ですが、掲示板を通じて、他の利用者から直接メールを受け取ることが可能です。
※情報配信メールについて:Jpcanada.comもしくはVancoadからの情報配信サービスの一環としてメールをお送りする場合があります(後日、登録を削除することも可能です)。

入力内容

コメント Comment 必須 required Ex) "up"

利用規約を再度ご確認下さい。
誹謗・中傷・いやがらせ・煽り・プライバシーの侵害・度の過ぎた感情的な投稿にはお気をつけ下さい。
節度と思いやりを持った投稿をお願いいたします。
法律で禁止されている投稿内容は、必要情報を然るべき機関へ報告する場合があります。


注意:一台のパソコンを複数人数で利用なさる場合は、ご利用終了後にログアウトをお願い致します。