【发布时间】:2019-09-29 22:28:26
【问题描述】:
我有一些代码从文件夹中选择一个随机文件然后记录它,在完成记录后我希望它被删除但我似乎无法删除它。
随机选择文件的路径存储为变量。
const trash = require('trash');
var fs = require('fs'),
path = require('path'),
files_memes = fs.readdirSync('/Users/jackb/Desktop/pup/Pictures/reddit_sub_memes')
var filename = (random_file());
var imgPATH = path.join(__dirname, '/Users/jackb/Desktop/pup/Pictures/reddit_sub_memes/' + filename);
const del = require('del');
function random_file(){
var allFiles = (files_memes)
return allFiles[Math.floor(Math.random() * allFiles.length)];
}
console.log(filename);
console.log(imgPATH);
(async () => {
const deletedPaths = await del(['imagePATH']);
console.log('Deleted files and directories:\n', deletedPaths.join('\n'));
})();
我希望删除记录的文件。
【问题讨论】:
-
不应该
await del(['imagePATH'])是await del([ imagePATH ])- 意思是删除路径在变量imagePath中的文件,而不是一些不存在的名为“imagePath”的文件? -
两种方法我都试过了,每次都没有被删除。我不明白为什么它不起作用,因为变量显示在控制台中并且清楚地显示了真实的路径。
-
我怀疑在
imgPath的开头包含__dirname会导致问题,除非以系统磁盘的根目录作为工作目录执行。但是我无法解释日志输出,但很高兴看到你已经让它工作了。
标签: javascript node.js random