2014-01-10 81 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無法在文件或文件夾名稱中處理「+」「 - 」。

相關問題