Как я могу получить все имена файлов из текущего каталога?
У меня есть код
function showAllFollderFronRoot() {
// get all files from the ROOT folder
var files = parentFolder;
while (files.hasNext()) {
var file = files.next();
// Logger.log(file.getName());
DocumentApp.getUi().alert(file.getName());
}
}
Но он работает только с ROOT dir.Как я могу получить все имена файлов в массиве в текущем каталоге?
ОБНОВЛЕНИЕ: У меня есть структура файла: MT / MT.100-107 / MT.100-1007.1001.doc Мне нужно сделать код, если кто-то откроетНовый шаблон из документов - скрипту нужно автоматически сохранить этот файл с истинной структурой - со следующим именем файла + 1 (пример MT.100-1007.1002.doc, следующий новый файл из шаблона - MT.100-1007.1003.doc ...)найти все имена файлов => показать последнее большее количество (1002.doc) => count + 1 => сохранить этот файл с новым именем файла MT.100-1007.1003.doc
Мой код работает, но он делает файл tmp вКорневой каталог & не работает идеально, потому что он не вычисляет последний больший счет в текущем каталоге, и если я удаляю файл, например MT.100-1007.1003.doc в каталоге dir MT, и создаю новый файл в каталоге dir UA - счетчик будет MT.100-1007.1004.doc независимо от того, какие имена файлов находятся в папке UA.
Эти скрипты с ошибками, как я могу это исправить?
/**
* @OnlyCurrentDoc
*/
function saveFilename() {
// Get current file name
const ui = DocumentApp.getUi(),
doc = DocumentApp.getActiveDocument(), //Added
thisFileId = doc.getId(),
thisFileName = doc.getName();
const thisFile = DriveApp.getFileById(thisFileId);//Modified from getFolderById
const parentFolder = thisFile.getParents();
const currentFolder = parentFolder.next();//Modified from currentFolderName
const currentFolderName = currentFolder.getName();//Added
//ui.alert(currentFolderName);
/*Store a init file in root to getLatestFileNumber*/
var initIter = DriveApp.getFilesByName(currentFolderName + 'init00'),
initBool = initIter.hasNext(),
init;
if (!initBool) {
init = DriveApp.createFile(currentFolderName + 'init000', '0');
} else {
init = initIter.next();
}
/*Get current Number and format it to 4 digits*/
var currentNum = init.getBlob().getDataAsString() * 1 + 1,
formatNum = ('0000' + currentNum).substr(-3);
/*If filename already contains folderName, do nothing*/
if (!(thisFileName.search(currentFolderName) + 1)) {
doc.setName(currentFolderName +'.' + formatNum).saveAndClose();
init.setContent(currentNum);
}
// delete TMP file from ROOT dir
DriveApp.getFileById(init.getId()).setTrashed(true)
}