识别任何给定文件类型的正确方法是什么?
只要启用了显示文件扩展名的选项,我就知道有两种方法可以做到,它们几乎完全相同。
path.substring(path.lastIndexOf('.')+1)
const path = require('path')
path.extname(string)
但是,如果有人禁用了显示文件扩展名的选项,该怎么办。在这种情况下,理想地以跨平台方式,我如何识别给定文件的文件类型?
答案 0 :(得分:1)
当您说“类型”时,我假设您的意思是“文件名中最后一个点之后的部分” –无论用户的Windows资源管理器设置如何,该名称都会存在。
答案 1 :(得分:0)
也许有更好的方法,但是我只能想到这种解决方案。
const { execSync } = require('child_process');
let output = execSync('file ~/textFile')
.toString()
console.log(output) // will print '/Users/macabeus/textFile: ASCII text'
这仅适用于Unix系统,因此您需要在Windows中使用WSL。