首先,这是代码:
const FS = require('fs'); const OS = require('os'); const symlinkType = OS.platform() === 'win32' ? 'junction' : 'file'; FS.symlink(target, path, symlinkType, err => { if(err) { console.error(`Failed to create ${symlinkType} ${path} -> ${target}`); } else { console.log(`Created ${symlinkType} ${path} -> ${target}`); } })
这吐出了一堆这样的消息:
Created junction C:\Users\Mark\*snip*\data\Pacific\Midway.txt -> C:\Users\Mark\*snip*\data\Pacific\Pago_Pago.txt Created junction C:\Users\Mark\*snip*\data\Pacific\Samoa.txt -> C:\Users\Mark\*snip*\data\Pacific\Pago_Pago.txt Created junction C:\Users\Mark\*snip*\data\Pacific\Ponape.txt -> C:\Users\Mark\*snip*\data\Pacific\Pohnpei.txt
所以它看起来像在工作。 我可以在资源pipe理器中看到路口/快捷方式:
但是他们都坏了。 即双击它们给我一个错误信息
Cuba.txt不可访问。
文件名,目录名称或卷标语法不正确。
怎么来的? 如何在Windows上的Node.js中创build符号链接,以使文件像正常一样工作(即其他程序可以读取它们)。
正如我所记得的NTFS连接点像目录,而不是单个文件。
请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx