Для «управления» нужно, чтобы я переименовал группу файлов на диске Google.Когда я говорю «куча», я говорю тысячи.Я пишу способ сделать это.
До сих пор мне удалось написать некоторый код, который позволяет мне переименовывать файлы на одном уровне структуры папок.Допустим, структура папки имеет вид:
\Folder 1
\Folder 2
\Folder 2.2
\Folder 3
Этот код переименовывает все файлы в папке 2 и в папке 2.2 (с учетом идентификатора папки 1), но не в папке 1 или папке 3. Я также неНе знаю, сколько уровней в структуре папок.
Я думаю, должен быть способ, которым я могу использовать бит переименования файла этого кода в качестве отдельной функции и вызывать его для каждой папки в папке верхнего уровня,Я просто не могу понять, как это сделать.
У меня есть следующее:
function renameFile() {
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main");
var lastRow = sourceSheet.getLastRow();
var filePaths = sourceSheet.getRange(4, 1, 1, 1).getValues();
var pre = sourceSheet.getRange("C4").getValue();
var folder = DriveApp.getFolderById(filePaths);
var contents = folder.getFiles();
var folders = folder.getFolders();
var ver = 1;
while (folders.hasNext()) {
var subFolder = folders.next();
var subFolderID = subFolder.getId();
var nextSubFolder = DriveApp.getFolderById(subFolderID);
var subFiles = subFolder.getFiles();
var subFolders = subFolder.getFolders();
while (subFiles.hasNext()) {
var file = subFiles.next();
var curID = file.getId();
var curName = file.getName();
var fileToRename = DriveApp.getFileById(curID);
var newName = pre + " " + curName + " Version " + ver;
fileToRename.setName(newName);
}
}
}
Заранее спасибо.