| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- const path = require('path');
 
- const fs = require('fs');
 
- // 获取当前命令行上下文路径
 
- const currentDirectory = process.cwd();
 
- console.log(`----------------------------`)
 
- const backupPath = path.join(currentDirectory, '/backup/')
 
- //获取文件列表
 
- const files = fs.readdirSync(backupPath);
 
- if (files.length > 5) {
 
-     //遍历文件列表
 
-     console.log(`准备清理备份文件...`)
 
-     let newfiles = []
 
-     files.forEach((file) => {
 
-         const time = file.split('_');
 
-         if (time.length >= 2) {
 
-             newfiles.push({time: time[0], file: file})
 
-         }
 
-     })
 
-     //文件列表排序
 
-     newfiles = arrKeySort(newfiles, 'time', 'desc');
 
-     //移除文件
 
-     newfiles.forEach((item, index) => {
 
-         if (index >= 5) {
 
-             fs.unlinkSync(backupPath + item.file);
 
-             console.log(`已清理${item.file}`)
 
-         }
 
-     })
 
-     console.log('---------- 清理完成 ----------')
 
- } else {
 
-     console.log(`备份文件小于5份,不执行清理操作...`)
 
- }
 
- //数组对象排序
 
- function arrKeySort(arr, field = 'id', order = 'asc')
 
- {
 
-     return arr.sort(arrCompare(field, order));
 
- }
 
- function arrCompare(key, order = 'asc')
 
- {
 
-     return function innerSort(a, b) {
 
-         if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {
 
-             // 该属性在任何一个对象上都不存在
 
-             return 0;
 
-         }
 
-         const varA = (typeof a[key] === 'string')
 
-             ? a[key].toUpperCase() : a[key];
 
-         const varB = (typeof b[key] === 'string')
 
-             ? b[key].toUpperCase() : b[key];
 
-         let comparison = 0;
 
-         if (varA > varB) {
 
-             comparison = 1;
 
-         } else if (varA < varB) {
 
-             comparison = -1;
 
-         }
 
-         return (
 
-             (order === 'desc') ? (comparison * -1) : comparison
 
-         );
 
-     };
 
- }
 
 
  |