【发布时间】:2016-01-25 00:56:39
【问题描述】:
我正在运行一个 nodewebkit 应用程序,我想在一个文件夹中搜索别名。
以下代码正在运行,但无法将文件夹别名或文件别名识别为符号链接。
我哪里错了?
var path = '/Users/test/Desktop/testfolder';
var fs = require('fs');
fs.readdir(path, function(err, files) {
if (err) return;
files.forEach(function(f) {
var newPath = path + '/' + f;
console.log("looking for "+ newPath +" symlink: "+fs.lstatSync(path).isSymbolicLink());
fs.lstat(newPath, function(err, stats){
if(err){
console.log(err);
}
if(stats.isFile()){
console.log('is file mofo',f);
}
if(stats.isDirectory()){
console.log('is Directory mofo',f);
}
if(stats.isSymbolicLink()){
console.log('is symbolic link');
}
});
});
});
【问题讨论】:
-
你说的是 Finder.app 别名吗?它们特定于该应用程序,并且在技术上与符号链接不同——我想你需要一个特定于 OS X 的库。
-
是的,这就是我刚刚发现的。使用 mdfind 是一种方法,但我认为使用 swift 更聪明。谢谢
-
如果委托给 shell 命令是一个选项 - 这显然很慢 - 它 是 可以检测 Finder 别名(想一想:这就是您使用
mdfind);出于好奇:你会如何使用mdfind?您打算如何改用 Swift? -
我的应用程序由两部分组成。一篇用 swift 写,一篇用 node-webkit。我不能在 node.js 中使用 wift,但我可以触发调用并将 semothing 写入数据库。使用 URLByResolvingAliasFileAtURL:options:error:
-
mdfind 可以与 node-mdfind 一起使用,但文档非常糟糕,所以我不确定如何使用它
标签: node.js macos node-webkit finder