Я довольно новичок в Google Scripts. Мы хотим, чтобы все файлы, загруженные в одну папку на Google Диске, автоматически перемещались в другие папки, основываясь на части их имени.
3 примера файлов: APX PMT 05.02.2019, ALT PMT 05.03.2019, BEA PMT 05.04.2019
Мы хотим, чтобы эти файлы были перемещены в целевые папки на основе первых 3 букв их имени. APX PMT 05.02.2019 перемещается в папку APX, ALT PMT 05.03.2019 перемещается в папку ALT, т. Д.
У меня нет примеров кода, так как я чрезвычайно новичок в этом. Автоматическое перемещение файлов из одной папки в другую на Google Диске - хорошее начало для меня, изучив это, но все еще неуверенный, как заставить его перемещать файл, основываясь только на части имени файла.
Результаты. Желание, чтобы люди могли загружать файлы в одно место назначения, а код автоматически перемещает их в соответствующие папки.
Тестовый код версии 2.0. Работает, как показано ниже, если я уберу пробелы между двумя наборами символов (изменим BEA RFT на BEARFT или BEA_RFT), так как наше рабочее место хотело бы, чтобы они сортировались по первым 7 символам в имени файла сейчас. Как я могу заставить его работать, когда в символах есть пробел?:
function moveFiles() {
var dfldrs=['BEA RFT', 'BEA ADJ', 'BEA PMT', 'BEA CHG'];//Seven letter prefixes
var ofObj={BEA RFT:'ID',BEA ADJ:'ID',BEA PMT:'ID',BEA CHG:'ID'};//distribution folder ids
var upldFldr=DriveApp.getFolderById('ID');
var files=upldFldr.getFiles();
while(files.hasNext()) {
var file=files.next();
var key=file.getName().slice(0,7);
var index=dfldrs.indexOf(key);
if(index>-1) {
Drive.Files.update({"parents": [{'id': ofObj[key]}]}, file.getId());
}
}
}