我需要知道如何才能提到"过滤"的文件,例如每天的文件:2到12。
const fs = require('fs'); const testFolder = 'C:/Users/duff/Downloads/xmlpath/'; fs.readdirSync(testFolder).forEach(file => { //Reading files from folder fs.stat(testFolder+file,'utf8', function(err,data){ console.log(data.mtime); // print the last modified date } ); });
我已经尝试与此代码,但我得到所有的文件日期没有过滤他们
文件日期的结果
这就是我保存文件和检索最终文件时使用的一些附加内容的方式:
router.post("/download", function (req, res) {
var yourscript = exec("./export.sh", (error, stdout, stderr) => {
console.log(stdout);
console.log(stderr);
});
function downloadLatestFile() {
const dirPath = "/Users/tarekhabche/Desktop/awsTest/reports";
const lastFile = JSON.stringify(getMostRecentFile(dirPath));
fileDate = lastFile.substr(14, 19);
console.log(fileDate);
const fileToDownload = `reports/info.${fileDate}.csv`;
console.log(fileToDownload);
res.download(fileToDownload);
}
setTimeout(function () {
downloadLatestFile();
}, 1000);
});
const getMostRecentFile = (dir) => {
const files = orderRecentFiles(dir);
return files.length ? files[0] : undefined;
};
const orderRecentFiles = (dir) => {
return fs
.readdirSync(dir)
.filter((file) => fs.lstatSync(path.join(dir, file)).isFile())
.map((file) => ({ file, mtime: fs.lstatSync(path.join(dir, file)).mtime }))
.sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
};
const dirPath = "reports";
getMostRecentFile(dirPath);
所以我认为你要做的是提供一个日期范围,并返回该范围内的文件。
我把时间去掉然后和日期做比较
const fs = require('fs')
const testFolder = './test'
const parseDate = timestamp => new Date(timestamp).toISOString().slice(0, 10)
const handler = async (f, t) => {
const startDate = parseDate(f)
const endDate = parseDate(t)
const timestamp = file => {
return new Promise((resolve, reject) => {
fs.stat(`${testFolder}/${file}`, 'utf8', (err, data) => {
if (err) return reject(err)
return resolve({ filename: `${testFolder}/${file}`, date: parseDate(data.mtime) })
})
})
}
const timestamps = await Promise.all(fs.readdirSync(testFolder).map(timestamp))
return timestamps.filter(({ date }) => date >= startDate && date <= endDate)
}
handler('2020-04-01', '2020-04-10')
这将生成一个对象数组,如下所示
[ { filename: 'C:/Users/duff/Downloads/xmlpath/test1', date: '2020-04-09' },
{ filename: 'C:/Users/duff/Downloads/xmlpath/hello', date: '2020-04-09' },
{ filename: 'C:/Users/duff/Downloads/xmlpath/new', date: '2020-04-10' },
{ filename: 'C:/Users/duff/Downloads/xmlpath/yes', date: '2020-04-10' } ]
问题内容: 想知道目录的上次修改日期何时更改。我修改了特定目录中的文件(通过FTP),但目录的LMD不变。应该如何运作? 问题答案: 当添加,删除或重命名文件或子目录时,目录本身上的mtime(修改时间)会更改。 修改目录中文件的内容不会更改目录本身,也不会更新文件或子目录的修改时间。如果更改目录的权限,则ctime会更改,而mtime不会。
我在databricks中安装了一个s3 bucket,我可以看到文件列表,也可以使用python读取文件 我想找出我正在阅读的文件的上次修改日期,我找不到太多,但java选项数据砖读取Azure blob的上次修改日期为azure blob,数据砖中有一个python本机选项来读取文件元数据。
问题内容: 我的一位同事说,SQL Server将最后修改的日期和时间保存在每条记录的“隐藏列”中。我很确定他说错了。你能向我确认一下吗? 问题答案: 正如其他人所暗示的那样,您的同事一定在胡说八道,或者指的是其他东西。为此,记录或页面的磁盘结构不包含对上次更新时间的任何引用。虽然可以在对象级别找到有关上次更新的信息,但在记录/行级别上找不到此类信息。
我有一个Azure Blob存储安装到我的Database ricks hdfs。有没有办法在数据库中获取Blob的最后修改日期? 这就是我阅读blob内容的方式:
我需要获取Azure Databricks下DBFS装载点(ADLS Gen1)中所有文件夹和文件的最后修改日期。文件夹结构如下: 使用以下Python代码获取最后修改日期: 从上面的代码中,我得到了所有包含文件的文件夹的正确修改日期。 但对于空文件夹,它会给出当前日期。不是上次修改日期。 然而,当我硬编码空文件夹的路径时,它会给出正确的修改日期: 打印(datetime.fromtimestam
我正在开发一个应用程序,它将在Dropbox上获取文件的最后修改时间和日期,也将在本地计算机上获取文件的最后修改日期(上载时间)和时间,然后在对时间和日期进行比较后,应用程序将决定是上载该文件还是从Dropbox下载该文件。现在我被这个问题困住了,我怎样才能得到最后修改的日期