使用基于当前日期的文件名打开文件
Open file using a file name based on the current date
我有一个脚本可以按名称打开文件,但该文件每天都会更新为新名称。例如,文件名可以是 'L661_CAD-04-01-16.csv' 但第二天它可能会更改为 'L661_CAD-05-01-16.csv'.
我希望名称的第一部分相同 L661_CAD-
并更新脚本中的日期,以便它查看最新的文件。
这是我正在使用的当前代码,它查找完整的文件名:
var fSource = DriveApp.getFolderById('0B2lVvlNIDosoajRRMUwySVBPNVE'); // reports_folder_id = id of folder where csv reports are saved
var fi = fSource.getFilesByName('L661_BOM-CAD_14-12-15.csv'); // latest report file
有很多方法可以实现这一点 - 任何可以从 Date 对象中获取日、月和年的方法都可以使用。
这是一个基于 Google Apps 脚本 Utilities.formatDate 方法的 one-liner:
var filename = Utilities.formatDate(new Date(),
Session.getScriptTimeZone(),
"'L661_BOM-CAD_'dd-MM-yy'.csv'");
如果你想用它来获取任意日期的文件,你可以在第一个参数中提供目标日期。
如果您想改用 "pure JavaScript",您可以这样做:
var today = new Date()
var day = today.getDay();
if (day < 10) day = '0'+day;
var month = today.getMonth() + 1;
if (month < 10) month = '0'+month;
var year = today.getFullYear().toString().substr(2,2);
var filename = 'L661_BOM-CAD_%dd%-%mm%-%yy%.csv'
.replace('%dd%',day)
.replace('%mm%',month)
.replace('%yy%',year);
formatting dates in JavaScript, 还有很多其他示例供任何想要对其进行调整以满足其特定需求的人使用。
找到了解决方案,希望这对某人有所帮助
var date= Utilities.formatDate(new Date(), "GMT", "dd-MM-yy");
var fi = fSource.getFilesByName('*first part of the file name*'+ date +'.csv'); // L661_bom-cad is the first part of the file name
我有一个脚本可以按名称打开文件,但该文件每天都会更新为新名称。例如,文件名可以是 'L661_CAD-04-01-16.csv' 但第二天它可能会更改为 'L661_CAD-05-01-16.csv'.
我希望名称的第一部分相同 L661_CAD-
并更新脚本中的日期,以便它查看最新的文件。
这是我正在使用的当前代码,它查找完整的文件名:
var fSource = DriveApp.getFolderById('0B2lVvlNIDosoajRRMUwySVBPNVE'); // reports_folder_id = id of folder where csv reports are saved
var fi = fSource.getFilesByName('L661_BOM-CAD_14-12-15.csv'); // latest report file
有很多方法可以实现这一点 - 任何可以从 Date 对象中获取日、月和年的方法都可以使用。
这是一个基于 Google Apps 脚本 Utilities.formatDate 方法的 one-liner:
var filename = Utilities.formatDate(new Date(),
Session.getScriptTimeZone(),
"'L661_BOM-CAD_'dd-MM-yy'.csv'");
如果你想用它来获取任意日期的文件,你可以在第一个参数中提供目标日期。
如果您想改用 "pure JavaScript",您可以这样做:
var today = new Date()
var day = today.getDay();
if (day < 10) day = '0'+day;
var month = today.getMonth() + 1;
if (month < 10) month = '0'+month;
var year = today.getFullYear().toString().substr(2,2);
var filename = 'L661_BOM-CAD_%dd%-%mm%-%yy%.csv'
.replace('%dd%',day)
.replace('%mm%',month)
.replace('%yy%',year);
formatting dates in JavaScript, 还有很多其他示例供任何想要对其进行调整以满足其特定需求的人使用。
找到了解决方案,希望这对某人有所帮助
var date= Utilities.formatDate(new Date(), "GMT", "dd-MM-yy");
var fi = fSource.getFilesByName('*first part of the file name*'+ date +'.csv'); // L661_bom-cad is the first part of the file name