2015-06-08 56 views
-1

我有一個腳本,每天凌晨5點運行,這會將特定文件(data.xls)移動到垃圾箱。但是,由於DocsList已經退役,該腳本不再起作用,並且在更新它時遇到問題。在驅動器中刪除或清除垃圾箱中的特定文件

我見過幾個delete/setTrashed腳本發佈在這裏,但它們似乎都適用於一組文件,而我只希望刪除一個特定的文件。

我不是一個編碼器,並開始自學最少量的我有,所以我需要儘可能簡單(對不起)。

任何及所有幫助或指導是非常讚賞。謝謝。

function myFunction() { 
var files = DriveApp.getFilesByName('data'); 
while (files.hasNext()) { 
    var file = files.next(); 
    ID = file.getId(file) 
    Drive.Files.remove(ID); 
} 
} 
+0

看看下面的鏈接:如何在我的代碼中將DocsList更新爲DriveApp](http://stackoverflow.com/a/29778417/2946873) –

+0

files.next()返回一個文件對象,可以直接設置垃圾箱而不需要獲取ID。請參閱下面編輯的答案 – ScampMichael

回答

1

我見過一對夫婦在這裏發佈的刪除/ setTrashed腳本,但他們 似乎都對文件的數組功能,我只想要一個 特定的文件中刪除。

簡而言之,要刪除單個文件,請刪除列表中的第一個項目,調用數組以及Google調用文件迭代器的內容。

按名稱檢索文件將返回一個列表(迭代器),即使它只有一個該名稱的文件,所以您必須將單個項目作爲迭代器中的第一個項目,並將第一個項目設置爲垃圾。

編輯:

function myFunction() { 
var files = DriveApp.getFilesByName('data'); 
while (files.hasNext()) { 
    files.next().setTrashed(true); 
    } 
    } 

,如果你知道有一個且只有一個叫這個名字,你可以做簡單的東西如文件:

function myFunction() { 
    DriveApp.getFilesByName('data').next().setTrashed(true); 
     } 
+0

好的,這是有道理的。我認爲我仍然得到錯誤,雖然'code'function myFunction(){ var files = DriveApp.getFilesByName('data'); while(files.hasNext()){ var file = files.next(); ID = file.getId(file) Drive.Files.remove(ID); } } –