2016-12-06 14 views
0

フォルダ内のすべてのファイルを別のフォルダに移動しようとしています。ソースフォルダはドライブのルートにあります。Google Appsのスクリプトを使用して、フォルダ内のすべてのファイルをGoogleドライブのotherに移動します。

それは、この何かリンクにする必要がありますが、今、それはループのために入力していません。

function movefiles() { 

var folderName = 'foldername' 
var folder = DriveApp.getFoldersByName(folderName).next(); 
var contents = folder.getFiles(); 
Logger.log(contents.length); 

for (var i = 0; i < contents.length; i++) { 
//here the code to move files, for now just this 
    file = contents[i];  
    Logger.log(file.getName()); 
    } 
}; 

しかし、命令contents.lengthちょうど私に「未定義」を与えるので、それがためには入りませんループ。私は間違っているの?

よろしく、

答えて

0

それは次のようにする必要があります:

function movefiles() { 

var folderName = 'foldername' 
var folder = DriveApp.getFoldersByName(folderName).next(); 
var files = folder.getFiles(); 

while (files.hasNext()) { 

var file = files.next(); 
var fileName = file.getName(); 

    Logger.log(fileName); 
    Logger.log(file.getDateCreated()); 
    Logger.log(file.getSize()); 
Logger.log(file.getMimeType()); 
} 
}; 
1

getFiles()は配列を返し、そう何length性質を持っていません。代わりにFileIteratorを返します。

この使用方法の例はhere in the documentationです。

など。

// Log the name of every file in the user's Drive. 
var files = DriveApp.getFiles(); 
while (files.hasNext()) { 
    var file = files.next(); 
    Logger.log(file.getName()); 
} 
+0

jeje、私は気づいていますが、あなたより後でxDを投稿しました –

関連する問題