2014-01-10 52 views
0

我遇到了应用程序脚本中的DriveApp.searchFiles()问题。DriveApp.searchFiles不适用于特定搜索

如果我搜索在驱动他们的名字是这样的(书名)文件:

Rif_Lettura_Nussbaum_02012014 或 拉Torre_Lalatta_Legalizzare_Corriere_23122013

搜索没有发现什么在驱动器中。

function test(){ 


    var title='Rif_Lettura_Nussbaum_02012014'; 
    //Uncomment to try the working sample 
    //var title='Rif_Lettura_Nussbaum_02012'; 



    var candidateFiles=DriveApp.searchFiles('title contains "'+title+'"'); 
    var count=0; 
    var fileCandidato; 
    while (candidateFiles.hasNext()){ 
    count++; 
    fileCandidato=candidateFiles.next(); 
    if(fileCandidato.getName().indexOf(title)!=-1){ 
     Logger.log("Finded: "+fileCandidato.getName()); 
    } 

    } 

    Logger.log(""+count+" files found with title "+title); 

} 

基本上似乎searchFiles()函数的工作,如果通过空间分离的字具有长度小于或等于26,然后(即的美国alfabeth的字母数)。

任何人都发现此错误并知道解决方法?

回答

0

好奇的情况下,如果您使用以下工作:

... 
//var title = 'Rif_Lettura_Nussbaum_02012014'; 
var title = 'Rif_Lettura_Nussbaum_02012'; // title.length <= 26 
... 
var candidateFiles = DriveApp.searchFiles('title contains "' + title + '"'); 
... 

然而,下面的也行:

... 
var title = 'Rif_Lettura_Nussbaum_02012014'; 
... 
var candidateFiles = DriveApp.searchFiles('title = "' + title + '"'); 
... 

在本文档中没有提到这事,或者如果有26个字符的限制。

我看到你开了一个问题(Issue 3549: DriveApp.searchFiles doesn't work for long words),会在这里提出一个链接到这个问题。

0

我面临同样的问题,让我告诉你,它与文件或文件夹名称有多长时间无关。这一切都不包括这个“ - ”或“+”。例如:

它完美,如果我搜索了: “HELLO-计算器 - WHATS-UP-HOW-YOU-做-GOOD-BYE”

function searchDrive() { 

    var myFolder = "HELLO-STACKOVERFLOW-WHATS-UP-HOW-YOU-DOING-GOOD-BYE" 

    var folders = DriveApp.searchFolders(
    'title contains "'+ myFolder +'"'); 
    while (folders.hasNext()) { 
    var folder = folders.next(); 
    Logger.log(folder.getName()); 
} 
} 

但是,如果我搜索了:“HELLO - STACKOVERFLOW“没有任何反应,与”HELLO + STACKOVERFLOW“一样。

总之...... DriveApp无法在文件或文件夹名称中处理“+”“ - ”。

相关问题