Node.js 符号链接连接在 Windows 上损坏?
Node.js symlink junctions are broken on Windows?
首先,这是代码:
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
看来它正在运行。我可以在资源管理器中看到 junctions/shortcuts:
但它们都坏了。即,双击它们会给我一条错误消息
Cuba.txt is not accessible.
The filename, directory name, or volume label syntax is incorrect.
怎么会?我如何在 Windows 上的 Node.js 中创建符号链接,以便文件像正常一样工作(即其他程序可以读取它们)。
我记得 NTFS 连接点就像目录,而不是单个文件。
见https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx
首先,这是代码:
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
看来它正在运行。我可以在资源管理器中看到 junctions/shortcuts:
但它们都坏了。即,双击它们会给我一条错误消息
Cuba.txt is not accessible.
The filename, directory name, or volume label syntax is incorrect.
怎么会?我如何在 Windows 上的 Node.js 中创建符号链接,以便文件像正常一样工作(即其他程序可以读取它们)。
我记得 NTFS 连接点就像目录,而不是单个文件。
见https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx