Mar*_*lez 8 google-apps-script google-drive-api
我正在尝试创建一个文件夹,如果它不存在,但代码每次运行时都会创建一个新文件夹.我不知道我的代码是否正确.
这是我的代码:
var alumnopath = DocsList.getFolderById ('0Bzgw8SlR34pUbFl5a2tzU2F0SUk');
var alumno2 = alumno.toString();
Logger.log(alumno2);
try {
var folderalumno = alumnopath.getFolder(alumno2);
if (folderalumno == undefined){
var folderalumno = alumnopath.createFolder(alumno2);
}
else {
var folderalumno = alumnopath.getFolder(alumno2);
}
}
catch(e) {
var folderalumno = alumnopath.createFolder(alumno2);
}
folderalumno.createFile(pdf.getAs('application/pdf')).rename( alumno + " , " + fechafor);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!!
使用try/catch结构时,实际上不需要if条件.try/catch结构处理文件夹本身不存在的情况.
试试这样:
var alumnopath = DocsList.getFolderById ('0Bzgw8SlR34pUbFl5a2tzU2F0SUk');
var alumno2 = alumno.toString();
Logger.log(alumno2);
try{
var folderalumno = alumnopath.getFolder(alumno2);
}
catch(e) {
var folderalumno = alumnopath.createFolder(alumno2);
}
folderalumno.createFile(pdf.getAs('application/pdf')).rename( alumno + " , " + fechafor);
Run Code Online (Sandbox Code Playgroud)
截至2016年8月的Google Apps脚本代码
var par_fdr = DriveApp.getFolderById(123456789A); // replace the ID
var fdr_name = "child_fdr";
try {
var newFdr = par_fdr.getFoldersByName(fdr_name).next();
}
catch(e) {
var newFdr = par_fdr.createFolder(fdr_name);
}
Run Code Online (Sandbox Code Playgroud)
如果其他人遇到此问题,您可以像这样使用三元运算符(根据需要替换“Name_of_Folder”字符串):
var alumnopath = DriveApp.getFoldersByName("Name_of_Folder");
var folderalumno = alumnopath.hasNext() ?
alumnopath.next() : DriveApp.createFolder("Name_of_Folder");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7083 次 |
| 最近记录: |