Node.js Nodejs获取文件扩展名

Node.js Nodejs获取文件扩展名,node.js,file-extension,Node.js,File Extension,我有一个包含图像的文件夹,它们可以有不同的格式,但名称始终是唯一的。如果我知道文件名而不知道扩展名(例如index和notindex.html),是否有办法获取文件扩展名?我可以检查每个扩展名是否都存在该文件,但这对我来说似乎是一个糟糕的解决方案 示例: 我知道有一个名为PIC的图像,但我不知道扩展名(可以是“.png”或“.jpg”等),因此我不能使用file命令。如果您运行基于Unix的系统,这可能是一个解决方法 var sys=require('util')) var exec=requ

我有一个包含图像的文件夹,它们可以有不同的格式,但名称始终是唯一的。如果我知道文件名而不知道扩展名(例如
index
not
index.html
),是否有办法获取文件扩展名?我可以检查每个扩展名是否都存在该文件,但这对我来说似乎是一个糟糕的解决方案

示例
我知道有一个名为
PIC
的图像,但我不知道扩展名(可以是“.png”或“.jpg”等),因此我不能使用file命令。

如果您运行基于Unix的系统,这可能是一个解决方法

var sys=require('util'))
var exec=require('child_process')。exec;
函数puts(错误、标准输出、标准输出){
console.log(标准输出)
}
//这是您应该获取路径/文件名的地方
var filename=“login”;
//执行unix命令“文件”
exec(“文件”+文件名,puts)var path=require('path'))

path.extname('index.html') //返回 “.html”

以下是参考答案

更新:

npm安装--保存文件扩展名
允许您指定文件名,然后它将返回扩展名

我知道我来晚了,但是您可以在基于unix的系统中使用
grep
命令

ie
ls|grep PIC
。它首先给出工作目录的目录列表,然后从目录列表的输出中搜索短语PIC并打印出来。(所以唯一要打印的是文件名)

在Windows中,使用
dir PIC.*/b


您可以使用
child\u进程
执行这些命令,如其他答案所示

我想删除标志的可能重复项,但不幸的是无法。如果一个国防部可以拒绝,那将是非常感谢你的回答。我想我问的问题不够具体,所以我更新了我的问题。你能使用dir或ls命令吗?我的意思是,如果你能使用操作系统命令,答案中截取的代码可以适应操作系统命令(例如ls index*或dir index*)。添加-b和--extension以获得可能的扩展名列表..在没有扩展名的jpg上测试给了我
jpeg/jpg/jpe/jfif
,如我的问题中所述,我不知道文件的扩展名。我只知道有一个名为'index.SOMETHING'的文件。$npm安装--保存文件扩展名这是文档