google-apps-script 计数文件夹中的文件
google-apps-script count files in folder
我进行了搜索,但似乎找不到我要找的东西。
我正在寻找使我能够执行此伪代码的代码:
- 计算特定 Google 驱动器文件夹中的文件数(按文件夹 ID)
- 如果文件数超过 'x',请执行此操作{其他代码}
- 否则,退出
谁能帮帮我?
我找不到任何方法来计算文件的数量,所以我猜你需要遍历每个文件,并有一个计数器:
function countFilesInFolder() {
var count,file,files,theFolder;//Define variables without assigning a value
theFolder = DriveApp.getFolderById('your file ID');
files = theFolder.getFiles();
count = 0;
while (files.hasNext()) {
count++;
file = files.next();
//Logger.log(file.getName());
if (count > 5) {
fncNextFunction();
break;
};
};
Logger.log(count);
};
function fncNextFunction() {
Logger.log('fncNextFunction');
};
注意:如果我只有计数器增量而没有获取下一个文件,脚本编辑器会冻结。
这是使用高级驱动器服务的替代方法:
//This requires the Drive API To be turned on in the Advanced Google Services
function countFilesInFolder() {
var query = 'trashed = false and ' +
"'Your Folder ID here' in parents";
var filesInFolder = Drive.Files.list({q: query});
Logger.log('filesInFolder: ' + filesInFolder.items.length);
for (var i=0;i<filesInFolder.items.length;i++) {
//Logger.log('key: ' + key);
var thisItem = filesInFolder.items[i];
Logger.log('value: ' + thisItem.title);
};
};
有关使用页面标记列出 100 多个结果的示例,请参阅 The Documentation
我进行了搜索,但似乎找不到我要找的东西。
我正在寻找使我能够执行此伪代码的代码:
- 计算特定 Google 驱动器文件夹中的文件数(按文件夹 ID)
- 如果文件数超过 'x',请执行此操作{其他代码}
- 否则,退出
谁能帮帮我?
我找不到任何方法来计算文件的数量,所以我猜你需要遍历每个文件,并有一个计数器:
function countFilesInFolder() {
var count,file,files,theFolder;//Define variables without assigning a value
theFolder = DriveApp.getFolderById('your file ID');
files = theFolder.getFiles();
count = 0;
while (files.hasNext()) {
count++;
file = files.next();
//Logger.log(file.getName());
if (count > 5) {
fncNextFunction();
break;
};
};
Logger.log(count);
};
function fncNextFunction() {
Logger.log('fncNextFunction');
};
注意:如果我只有计数器增量而没有获取下一个文件,脚本编辑器会冻结。
这是使用高级驱动器服务的替代方法:
//This requires the Drive API To be turned on in the Advanced Google Services
function countFilesInFolder() {
var query = 'trashed = false and ' +
"'Your Folder ID here' in parents";
var filesInFolder = Drive.Files.list({q: query});
Logger.log('filesInFolder: ' + filesInFolder.items.length);
for (var i=0;i<filesInFolder.items.length;i++) {
//Logger.log('key: ' + key);
var thisItem = filesInFolder.items[i];
Logger.log('value: ' + thisItem.title);
};
};
有关使用页面标记列出 100 多个结果的示例,请参阅 The Documentation