google-apps-script - 使用序号重命名具有相同名称的文件?
问题描述
我觉得这很简单,但我错过了一些东西。我有 130 个文件夹,都包含同一个文件“Document.pdf”。当然,内容因文件而异,但都具有相同的名称和扩展名。我要做的是让脚本获取所有这 130 个文件,并按顺序为它们命名从“1.pdf”到“130.pdf”。文件夹也按顺序排列 (1-130)。我在本地存储和 Google Drive 上都有这些文件夹,因此任何涉及 bash 或 GScripts 的解决方案都适合我。谢谢。
解决方案
这应该可以解决问题:
代码:
function renameFiles() {
var iter = 1;
while (iter <= 130) {
Logger.log(iter);
var folders = DriveApp.getFoldersByName(iter);
while (folders.hasNext()) {
var folder = folders.next();
Logger.log("Folder: " + folder.getName());
var files = folder.getFilesByName("Document.pdf");
while (files.hasNext()) {
var file = files.next();
file.setName(iter + "." + file.getMimeType().substr(-3));
Logger.log("File: " + file.getName());
}
}
iter++;
}
}
假设:
- 文件夹被命名为
1
,2
, ....130
样本输出:
推荐阅读
- javascript - 使用 react-router-dom 在同一页面上不需要的渲染
- laravel - laravel 集体回报指数值
- java - 无法从 Intellij Idea 部署战争文件构建
- activiti - Activiti script-task中如何调用外部URL或SAP接口?
- javascript - JavaScript 和 dc-js 中的数据表
- dependency-injection - 了解干净架构中的“依赖注入框架是细节”
- android - 在 EditText 中处理“Enter”并在其中插入字符
- django - 将数据从 django 视图传递到模板
- elasticsearch - 如何让 elasticsearch 多匹配模糊搜索始终返回最少数量的结果
- python - How to set a semi-positive Parameter(matrix) in CVXPY?