2012-10-04 3 views
1

ftp를 C#으로 구동해야합니다.ftp에서 C 드라이브로 매핑

나는이 SO question에서 답변을 사용하지만 (내가 생각하는)

내 코드가 로컬 폴더를 작동합니다

Subst.MapDrive('q', @"ftpServerName"); 

이 작동하지 않습니다.

+1

'Subst' 클래스의 출처가 확실하지 않지만 드라이브 문자로 로컬 또는 SMB 디렉토리의 별칭을 지정할 수있는'subst.exe' 유틸리티와 관련된 것이라면 믿어 FTP와 함께 작동합니다. 어쨌든 코드가 "작동하지 않는다"고 말할 때 의미하는 바를 자세히 설명해야합니다. 감사합니다, ansver에 대해 – BACON

답변

1

그건 사소한 것이 아닙니다. 첫 번째 문제는 FTP가 파일 시스템 액세스 프로토콜이 아니며 표준 FTP 명령을 기반으로 완전한 기능을 갖춘 파일 시스템을 구현할 수 없다는 것입니다. 읽기 전용 파일 시스템의 경우 FTP는 괜찮습니다.

이제 Windows에서 원격 문자를 쉽게 드라이브 문자에 매핑 할 수 없습니다. 커널 모드 가상 파일 시스템 드라이버를 작성해야합니다. 1 년 정도의 일.

우리의 Callback File System은 실제 작업을 위해 사용자 모드 코드를 호출하는 사전 빌드 된 드라이버를 제공합니다. 이렇게하면 C#에서 가상 파일 시스템을 만들 수 있습니다. 우리는 SFTP Net Drive 프리웨어 제품의 간소화 된 버전이며 SFTP (SFTP는 저수준 파일 작업을 제공하고 가상 파일 시스템에 사용될 수있는 SSH 기반 프로토콜입니다)를 통해 필요한 것을 수행하는 샘플 프로젝트를 보유하고 있습니다. . 그러나 FTP를 사용하면 여전히 위에서 언급 한 문제가 있고 아마도 이름을 바꿀 수 있습니다.

+0

! Windows 탐색기에서 내 ftp를 열 수 있습니다. 내가 필요로하는 모든 것 - 그것은 쉽게 사용할 수 있도록 내 ftp 폴더에만 연결됩니다! – jimpanzer

+0

@ user1616443 Explorer에 표시되는 내용은 디스크 폴더가 아니라 가상 네임 스페이스입니다. 다른 응용 프로그램에서 사용할 수있는 디스크로 사용할 수 없습니다 (일부 응용 프로그램은 가상 이름 공간에서 작동 할 수 있지만 대부분은 불가능 함). –

관련 문제