const os = require('os'); const fs = require('fs'); const path = require('path'); const { base } = require('../config/index'); // 获取最终工作目录 const getInputDir = () => { if (base.inputDir) { return base.inputDir; } base.inputDir = getLatestFolder(base.directoryPath); return base.inputDir; }; // 获取该文件夹下最新创建的文件夹作为工作目录 const getLatestFolder = (directory) => { let currentInputDir = null; let latestTime = 0; // 读取指定目录 fs.readdirSync(directory, { withFileTypes: true }).forEach((file) => { if (file.isDirectory()) { const folderPath = path.join(directory, file.name); const stats = fs.statSync(folderPath); const creationTime = stats.birthtimeMs; // 获取创建时间 // 找到最新创建的文件夹 if (creationTime > latestTime) { latestTime = creationTime; currentInputDir = folderPath; } } }); if (currentInputDir) { console.log('工作目录:', currentInputDir); } else { console.log('未找到工作目录.'); } return currentInputDir; }; // 获取操作系统下面的桌面路径 const getDesktopPath = () => { const platform = os.platform(); let desktopPath; if (platform === 'win32') { // Windows desktopPath = path.join(process.env.USERPROFILE, 'Desktop'); } else if (platform === 'darwin') { // macOS desktopPath = path.join(process.env.HOME, 'Desktop'); } else if (platform === 'linux') { // Linux desktopPath = path.join(process.env.HOME, 'Desktop'); } else { throw new Error('Unsupported platform: ' + platform); } return desktopPath; }; module.exports = { getInputDir, getLatestFolder, getDesktopPath };