Javascript 选择随机文件,然后将其删除

Javascript 选择随机文件,然后将其删除,javascript,node.js,random,Javascript,Node.js,Random,我有一些代码,从文件夹中选择一个随机文件,然后记录它,在它完成记录后,我希望它被删除,但我似乎无法删除它 随机选择的文件的路径存储为变量 const trash = require('trash'); var fs = require('fs'), path = require('path'), files_memes = fs.readdirSync('/Users/jackb/Desktop/pup/Pictures/reddit_sub_memes') var filena

我有一些代码,从文件夹中选择一个随机文件,然后记录它,在它完成记录后,我希望它被删除,但我似乎无法删除它

随机选择的文件的路径存储为变量

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'));
})();

我希望删除记录的文件。

您可以将所有文件路径字符串放在一个数组中,并在lodash中使用u.sample(),这有助于您从数组中选择随机值。

更改了这行代码

const deletedPaths = await del(['imagePATH']);


我不喜欢使用数组,因为到目前为止一切都正常。我只是不能使用值等于文件路径的变量删除文件。不应该
wait del(['imagePATH')
be
wait del([imagePATH])
-意思是删除路径在变量
imagePATH
中的文件,不是某个不存在的名为“imagePath”的文件吗?我尝试了两种方法,每次都没有删除任何内容。我不明白为什么它不起作用,因为该变量显示在控制台中,并且清楚地显示了实际路径。我怀疑在
imgPath
的开头包含
\u dirname
会导致问题,除非以系统磁盘的根目录作为工作目录执行。不过,我无法解释日志输出,但很高兴看到您已使其正常工作。
const deletedPaths = await 
del('/Users/jackb/Desktop/pup/Pictures/reddit_sub_memes/' + filename);