copy - Google Drive:将文件夹从共享驱动器复制到自己的驱动器
问题描述
有没有办法通过谷歌应用脚本将整个文件夹从共享驱动器复制到我的驱动器?
我按照 App Script 进行搜索并执行此操作。第一次,它奏效了。但下一次,它只复制空文件夹。同名但文件夹中没有文件。
function DuplicateFolder() {
var fromFolderID = '1nPONeA3YRoVRi_njRrfu7aR6wMMtH2GN';
var toFolderID = '1D4chWItdoi68JOnKLBY0Q3846gFs6JQj';
var fromFolder = DriveApp.getFolderById(fromFolderID);
var childFolders = fromFolder.getFolders();
var toFolder = DriveApp.getFolderById(toFolderID);
var time = new Date().toLocaleTimeString().replace(/:\d+ /, ' ');
var toFolderParent = getOrCreateSubFolder(fromFolder.getName(),toFolder);
var toFolderChild = toFolderParent .createFolder(Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 6) + '_' + time);
while (childFolders.hasNext()){
var childFolder = childFolders.next();
var toCurrentFolder = toFolderChild.createFolder(childFolder.getName())
var fromFiles = childFolder.getFiles();
while(fromFiles.hasNext()){
var file = fromFiles.next();
file.makeCopy(toCurrentFolder);
}
Logger.log('Coppied: ' + childFolder)
}
}
function getOrCreateSubFolder(childFolderName, parentFolderName) {
var newFdr =""
try {
newFdr = parentFolderName.getFoldersByName(childFolderName).next();
}
catch(e) {
newFdr = parentFolderName.createFolder(childFolderName);
}
return newFdr
}
非常感谢!
解决方案
推荐阅读
- python - 使用动态加载的模块进行多处理
- visual-studio - 将 Visual Studio 设置为为具有其他扩展名 (.txaml) 的文件打开 XAML 编辑器
- algorithm - Aberth-Ehrlich 方法和精度误差的 Delphi 实现
- javascript - Vue.js 仅在特定数组更改时更新()
- node.js - 在 NodeJS Promise 中排序
- ruby - 如何在 Prawn PDF 中为子表提供填充?
- ios - 关于iOS 14导航栈管理的问题(不同于iOS 13)
- reactjs - 如何过滤对象并在 React 中显示
- c++ - 如何使用 CMake 构建一个可执行文件,包括同一级别的两个目录
- windows - 如何在 .bat 脚本运行期间忽略基于文件名的文件删除?