如何从目录中删除两个最低的文件(按名称)

我有一个包含以下文件名的目录:

01.02.2010.txt
02.02.2010.txt
03.02.2010.txt
04.02.2010.txt

我已经阅读了没有扩展名的文件名:

fs.readdir('./files', function (err, items) {
    items.forEach(function (file) {
        console.log(file.slice(0,-5))
    });
});

我想要的是从目录中删除最后两个日期最低的文件。

你知道怎么做吗node.js,谢谢

伊夫·基蓬多

files根据已经包含日期的文件的名称为列表变量中的每个文件生成日期。dates变量中有日期后,我对所有日期进行排序,因为文件列表的顺序可能错误。排序日期后,我只检索日期数组中的前两个元素,并根据日期生成文件名并将文件名存储在filesNames变量中。

var files =["04.02.2010.txt","01.02.2010.txt","03.02.2010.txt", "02.02.2010.txt"];

// Loop through the list of file and generate date corresponding to the name of each file
var dates = []
files.forEach(function(date){
	var matches = date.match(/^(.+)\.txt$/);
	var dateTxt = matches[1].split('.');
	var fileDate = new Date(dateTxt[2], dateTxt[1], dateTxt[0]);
	dates.push(fileDate);
});

// Sort list of dates
dates.sort(function (date1, date2) {
	return date1 - date2
});

// Get the 2 lowest dates
var datesToDeletes = dates.slice(0,2);

// Regenerates filesnames
var filesNames = []
datesToDeletes.forEach(function(d){
	var date = d.getDate()
	// Add 0 before date if the month has only one number 
	date = (String(date).length == 1)? "0" + date : date;
	var month = d.getMonth()
	// Add 0 before month if the month has only one number 
	month = (String(month).length == 1)? "0" + month : month;
	var year = d.getFullYear();
	var dateString = date + '.' + month + '.' + year;
	var fileName = dateString + '.txt';
	filesNames.push(fileName);
})

// Deletes files
filesNames.forEach(function(file){
	var path = "" + file;

    // I put console log just for debugging purpose
	console.log(path)

	// Delete each file
    // Here you can delete the file because you have the name of the file in the path variable
	/*
		fs.unlink(path, (err) => {
				throw err;
		});
	*/
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较不同目录中两个文件的名称

来自分类Dev

如何比较两个目录并删除重复的文件

来自分类Dev

如何在两个目录中查找名称相同但行数不同的文件?

来自分类Dev

如何检查和删除python中两个不同目录中不相同的文件?

来自分类Dev

在Linux终端中,如何删除目录中除一两个目录之外的所有文件

来自分类Dev

在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

来自分类Dev

在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

来自分类Dev

在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

来自分类Dev

在文件和目录名称中,以两个点(..)或两个破折号(-)作为分隔符

来自分类Dev

同一目录中的两个具有相同名称的文件

来自分类Dev

删除目录中除两个特定文件夹外的所有内容

来自分类Dev

检查文件是否存在于两个目录中,删除两个目录中都不存在的文件

来自分类Dev

如何通过组合两个名称来创建目录?

来自分类Dev

如何区分两个目录中的文件名(不写入中间文件)?

来自分类Dev

Vim和Windows如何在程序文件目录中看到两个具有相同名称的文件

来自分类Dev

识别两个不同目录之间的公用子目录名称并将其删除

来自分类Dev

按行比较两个文件,并从第一个文件中删除重复项

来自分类Dev

如何区分两个不同目录中的不同文件并将不同文件存储在新目录中

来自分类Dev

如何删除目录中X个文件

来自分类Dev

如何删除目录中X个文件

来自分类Dev

如何从两个具有相同型号名称的应用程序中删除对象?

来自分类Dev

比较不同目录中的文件夹名称并在csv中输出两个结果-PowerShell

来自分类Dev

如何基于前两列从文件中删除两个重复项

来自分类Dev

如何在两个目录中查找具有不同内容的文件名

来自分类Dev

如何查找和列出两个目录中的文件名差异?

来自分类Dev

如何使用while循环检查目录中是否存在两个文件?

来自分类Dev

使用NFS挂载时,如何在目录中有两个具有相同名称的文件?

来自分类Dev

如何从不同目录导入两个文件?

来自分类Dev

两个人如何在.txt文件中按列写两个嵌套列表?

Related 相关文章

  1. 1

    比较不同目录中两个文件的名称

  2. 2

    如何比较两个目录并删除重复的文件

  3. 3

    如何在两个目录中查找名称相同但行数不同的文件?

  4. 4

    如何检查和删除python中两个不同目录中不相同的文件?

  5. 5

    在Linux终端中,如何删除目录中除一两个目录之外的所有文件

  6. 6

    在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

  7. 7

    在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

  8. 8

    在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

  9. 9

    在文件和目录名称中,以两个点(..)或两个破折号(-)作为分隔符

  10. 10

    同一目录中的两个具有相同名称的文件

  11. 11

    删除目录中除两个特定文件夹外的所有内容

  12. 12

    检查文件是否存在于两个目录中,删除两个目录中都不存在的文件

  13. 13

    如何通过组合两个名称来创建目录?

  14. 14

    如何区分两个目录中的文件名(不写入中间文件)?

  15. 15

    Vim和Windows如何在程序文件目录中看到两个具有相同名称的文件

  16. 16

    识别两个不同目录之间的公用子目录名称并将其删除

  17. 17

    按行比较两个文件,并从第一个文件中删除重复项

  18. 18

    如何区分两个不同目录中的不同文件并将不同文件存储在新目录中

  19. 19

    如何删除目录中X个文件

  20. 20

    如何删除目录中X个文件

  21. 21

    如何从两个具有相同型号名称的应用程序中删除对象?

  22. 22

    比较不同目录中的文件夹名称并在csv中输出两个结果-PowerShell

  23. 23

    如何基于前两列从文件中删除两个重复项

  24. 24

    如何在两个目录中查找具有不同内容的文件名

  25. 25

    如何查找和列出两个目录中的文件名差异?

  26. 26

    如何使用while循环检查目录中是否存在两个文件?

  27. 27

    使用NFS挂载时,如何在目录中有两个具有相同名称的文件?

  28. 28

    如何从不同目录导入两个文件?

  29. 29

    两个人如何在.txt文件中按列写两个嵌套列表?

热门标签

归档