Google Apps 脚本:如何将文件从根目录保存到特定文件夹?
Google Apps Scripts: How to save files from root to a specific folder?
我开始学习 google 应用程序脚本并且有点受苦,:S.
所以,当我 运行 这个函数时:
function importXLSX(){
var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
while(files.hasNext()){
var xFile = files.next();
var name = xFile.getName();
if (name.indexOf('.xlsx')){
var ID = xFile.getId();
var xBlob = xFile.getBlob();
var newFile = { title : name+'_converted',
key : ID,
}
file = Drive.Files.insert(newFile, xBlob, {
convert: true
});
}
}
}
转换后的文件设置在 Drive 的根目录中,但我喜欢这样
当我 运行 代码时,文件保存在根文件夹中,但我希望将它们保存到特定文件夹中,例如 "Converteds",所以如果有人知道如何解决将不胜感激!
这是关于函数的参考link:Convert all xls files available in a folder into "Google Doc Spreadsheets"?
谢谢!
首先您需要获取文件夹 ID(右键单击 Google 驱动器中的文件夹并通过单击 "Get Shareable Link" 检查其共享选项,共享末尾的字符串 URL 是文件夹的 ID),然后对于您转换的每个文件,将文件添加到目标文件夹。
var folder = DriveApp.getFolderById([folder-id]);
while(files.hasNext()) {
var file = files.next();
...
...
folder.addFile(file);
}
这应该可以解决问题![=11=]
由于您使用的是云端硬盘API,您可以直接在特定文件夹中创建文件。
我将 parents: [{"id": "### Folder ID ###"}]
添加到 newFile
。请将 ### Folder ID ###
更改为特定文件夹并尝试此操作。
修改脚本:
function importXLSX(){
var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
while(files.hasNext()) {
var xFile = files.next();
var name = xFile.getName();
if (name.indexOf('.xlsx')) {
var ID = xFile.getId();
var xBlob = xFile.getBlob();
var newFile = {
title : name+'_converted',
key : ID,
parents: [{"id": "### Folder ID ###"}]
}
file = Drive.Files.insert(newFile, xBlob, {convert: true});
}
}
}
如果您想从文件夹名称中检索文件夹 ID。请使用以下脚本。
var folderId = DriveApp.getFoldersByName("### Folder name ###").next().getId();
如果我误解了你的问题,我很抱歉。
我开始学习 google 应用程序脚本并且有点受苦,:S.
所以,当我 运行 这个函数时:
function importXLSX(){
var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
while(files.hasNext()){
var xFile = files.next();
var name = xFile.getName();
if (name.indexOf('.xlsx')){
var ID = xFile.getId();
var xBlob = xFile.getBlob();
var newFile = { title : name+'_converted',
key : ID,
}
file = Drive.Files.insert(newFile, xBlob, {
convert: true
});
}
}
}
转换后的文件设置在 Drive 的根目录中,但我喜欢这样
当我 运行 代码时,文件保存在根文件夹中,但我希望将它们保存到特定文件夹中,例如 "Converteds",所以如果有人知道如何解决将不胜感激!
这是关于函数的参考link:Convert all xls files available in a folder into "Google Doc Spreadsheets"?
谢谢!
首先您需要获取文件夹 ID(右键单击 Google 驱动器中的文件夹并通过单击 "Get Shareable Link" 检查其共享选项,共享末尾的字符串 URL 是文件夹的 ID),然后对于您转换的每个文件,将文件添加到目标文件夹。
var folder = DriveApp.getFolderById([folder-id]);
while(files.hasNext()) {
var file = files.next();
...
...
folder.addFile(file);
}
这应该可以解决问题![=11=]
由于您使用的是云端硬盘API,您可以直接在特定文件夹中创建文件。
我将 parents: [{"id": "### Folder ID ###"}]
添加到 newFile
。请将 ### Folder ID ###
更改为特定文件夹并尝试此操作。
修改脚本:
function importXLSX(){
var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
while(files.hasNext()) {
var xFile = files.next();
var name = xFile.getName();
if (name.indexOf('.xlsx')) {
var ID = xFile.getId();
var xBlob = xFile.getBlob();
var newFile = {
title : name+'_converted',
key : ID,
parents: [{"id": "### Folder ID ###"}]
}
file = Drive.Files.insert(newFile, xBlob, {convert: true});
}
}
}
如果您想从文件夹名称中检索文件夹 ID。请使用以下脚本。
var folderId = DriveApp.getFoldersByName("### Folder name ###").next().getId();
如果我误解了你的问题,我很抱歉。