2017-03-27 17 views
0

첫째, 여기에 코드입니다 : 제대로 작동처럼Node.js Windows에서 심볼릭 링크 연결이 끊어 졌습니까?

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 

그래서 보이는 :

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}`); 
    } 
}) 

이이 같은 메시지의 무리를 뱉어. 나는 탐색기에서 접합/바로 가기를 볼 수 있습니다

그러나 그들은 모두 깨진입니다. 즉, 두 번 클릭하면 오류 메시지가 나타납니다.

Cuba.txt에 액세스 할 수 없습니다.
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

어째서? Windows의 Node.js에서 파일이 정상적으로 작동하도록 (예 : 다른 프로그램에서 읽을 수 있도록) 심볼릭 링크를 만들려면 어떻게해야합니까?

+0

은 하드 링크 ('fs.link') 잘 작동을 참조하십시오. Windows는 파일 *이 하드 링크라는 표시를 보이지 않지만 링크 된 파일 중 하나를 편집 한 다음 다른 파일을 보면 동일한 데이터를 가리킨다는 것을 보여줍니다. – mpen

+0

Windows에서 바로 가기는 심볼릭 링크가 아니므로 심볼릭 링크가 바로 가기가 아니라고 가정합니다 (예, 심볼릭 링크가 실제로 NTFS에 존재 함). 더블 클릭 대신 그것에 cd'ing – slebetman

+0

@slebetman 그들은 실제로 파일이 아닌 디렉토리입니다. 그 안에'cd '할 수 없습니다. – mpen

답변