2017-08-29 77 views
2

我的英語是一個漏勺和我在Javascript中的編程技巧一樣。我在Google Drive的特定文件夾中有幾個PDF文件(約10個)。每天一次,接近午夜,我必須在特定Google雲端硬盤文件夾中分別移動這些文件(一對一)。 其實我手工做這個活動,所以我試圖用一個簡單的腳本自動化它。谷歌驅動器 - 如何將特定文件(.pdf)從一個特定的文件夾移動到另一個

我能夠指向特定文件夾,但不能指向特定文件。 在Internet中發現的示例中,文件夾中包含的所有文件都被移至另一個文件夾,因此使用filesIterator技術。 但我不需要迭代,我需要指向特定的文件並將其移動到另一個文件夾。

這裏我五(迷茫)的程序行:

function moveFiles(source_folder, dest_folder) { 

var source_folder = DriveApp.getFolderById('0B42Jhhzp_5X7QUlMdE9SZS0wMms'); 
var dest_folder = DriveApp.getFolderById('0B42Jhhzp_5X7TFZBMXpfeWpZNFk'); 

var file = getFilesByName('caa20170829.pdf'); 

// var files = source_folder.getFiles(); 
// Logger.log(file.getAs(MimeType.HTML).getDataAsString()); 

dest_folder.addFile(file); 
source_folder.removeFile(file); 
} 

該錯誤消息我得到:

ReferenceError: "getFilesByName" not defined. (line 6, file "move")

任何幫助,將不勝感激!


如從最大Deepfield(感謝,最大值)的建議,我編輯的行6如下

var file = DriveApp.getFilesByName('caa20170829.pdf'); 

和錯誤消息改變爲

Impossible to find the method addFile(FileIterator). (line 11, file "move")

現在我編輯的11行如下

DriveApp.dest_folder.addFile(file); 

和錯誤消息更改另一個時間...

TypeError: Impossible to call the method "addFile" of undefined. (line 11, file "move")

感謝哈桑,我正在研究他建議的例子。 但是,如果有人會提供進一步的幫助...我提前感謝。

+2

你確定它是不是'DriveApp.getFilesByName'? –

+0

看看這個https://developers.google.com/drive/v3/web/folder –

+0

哈桑,非常感謝您的提示。 我編輯爲你建議。實際上,現在聽起來錯誤信息如下:無法找到addFile(FileIterator)方法。 (第11行,「移動」文件) – aldobz

回答

0

問題是DriveApp Api沒有任何方法返回單個File。所以你必須通過FileIterator

首先你不必把參數放在function moveFiles(source_folder, dest_folder)source_folderdest_folder這個函數裏面定義。但我認爲你做了這個錯誤杜代碼,你在互聯網上找到:)

此外,這裏有一些錯誤的建議:當你打電話給DriveApp.getFolderById(),API將返回給你Folder。所以,你不需要調用這個變種DriveApp了(例如DriveApp.dest_folder.addFile(file);是一個壞的調用,因爲該方法addFile()Folder類型,dest_folder已經是Folder

所以,你可以試試這個,它爲我工作:

source_folder= DriveApp.getFolderById('YourFolderID1') 
    dest_folder=DriveApp.getFolderById('YourFolderID2') 

    var files = source_folder.getFilesByName("YourFileName").next(); 
    dest_folder.addFile(files); 
    source_folder.removeFile(files); 

我希望它幫你:)

+0

嗨巴蒂斯蒂,我非常感謝你的幫助。 Simply GALACTIC !! 它在第一次工作,非常非常好! 非常感謝,並從意大利致以良好的問候。 Aldo – aldobz

相關問題