我有一个按名称打开文件的脚本,但每天都会使用新名称更新该文件。例如,文件名可以是< 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
答案 0 :(得分:1)
有很多方法可以实现这一点 - 您可以通过任何方式获得Date对象的日,月和年。
以下是基于Google Apps脚本Utilities.formatDate方法的单线程序:
var filename = Utilities.formatDate(new Date(),
Session.getScriptTimeZone(),
"'L661_BOM-CAD_'dd-MM-yy'.csv'");
如果你想用它来获取任何abitrary日期的文件,你可以在第一个参数中提供目标日期。
如果您想使用“纯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);
对于想要根据自己的特定需求进行调整的人来说,matting dates in JavaScript,还有很多其他例子。
答案 1 :(得分:-1)
找到解决方案,希望这可以帮助别人
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