我有一个带图片的文件夹,它们可以有不同的格式,但名称将始终是唯一的。如果我知道文件的名称没有扩展名(例如index
和不 index.html
),是否有办法获取文件扩展名?我可以检查文件是否存在我希望在那里的每个扩展名,但这对我来说似乎是一个糟糕的解决方案。
示例:
我知道有一个名为PIC
的图像,但我不知道扩展名(可能是'.png','.jpg'等),因此我无法使用文件命令。
答案 0 :(得分:3)
好吧,如果您运行的是基于Unix的系统,这可能是一种解决方法。
abstract class AbstractClass{
foo(){
// do someThing
}
}
class ConcreteClass extends AbstractClass{
foo(){
super.foo()
}
}
interface ClassDicctionary {
[index:string]: typeof AbstractClass
}
let dicctionary : ClassDicctionary = { "ONE" : ConcreteClass }
new dicctionary["One"]().foo() // Error. It can´t instance a abstrac class (of course)

我测试了它的PNG文件和EJS文件,两者都没有扩展(什么不会产生差异)。 结果如下:
<强> PNG:强> 照片:PNG图像数据,100 x 100,8位/彩色RGB,非隔行扫描
EJS(基本上是HTML): 登录:HTML文档,ASCII文本
您可以检查文件命令行参数,以便更轻松地使用字符串(例如 file -b filename )。 如果使用Windows,则必须检查文件的备用命令。
希望它在某种程度上有用。
答案 1 :(得分:0)
var path = require('path')
path.extname( '的index.html') //返回 '的.html'
以下是参考答案
更新:
https://www.npmjs.com/package/file-extension npm install --save file-extension 允许您指定文件名,然后它将返回扩展名
答案 2 :(得分:0)
我知道我迟到了,但你可以在基于unix的系统中使用grep
命令。
即ls | grep PIC
。这样做首先给出工作目录的目录列表,然后从目录列表的输出中搜索短语PIC并将其打印出来。 (所以唯一要打印的是文件名)
在Windows中,使用dir PIC.* /b
您可以使用child_process
执行这些命令,如其他答案所示