2013-04-29 2 views
0

파일을 유닉스 박스에서 로컬 컴퓨터로 복사하려고하는데 오류가 발생합니다 : Errno::EACCES: Permission denied - C:\Users\MyUser\DesktopNet :: SFTP 다운로드를 시도했지만 Errno :: EACCES : 권한이 거부되었습니다 - 복사 할 디렉토리

require 'net/sftp' 
Net::SFTP.start(unixBox, user, :password => password) do |sftp| 
    sftp.download!(filePathOnUnixBox, 'C:\Users\MyUser\Desktop') 
end 

내 데스크탑 : 윈도우 7

루비 1.8.7 (2010-12-23 패치 레벨 330) I386-mingw32]

그물 SFTP (2.1.1)

유닉스 상자 : SunOS의

업데이트 : 당신이 당신의 파일에 경로에 파일 이름을 지정해야합니다 같은 C:\Users\MyUser\Desktop

+0

간단한'File.write'로 그 경로에 쓸 수 있습니까? – kch

+0

'File.open ("C : \\ Users \\ MyUser \\ Desktop \\ test.txt", "w +")로 할 수있었습니다. do | x | x.write ("hello") end' –

답변

0

가 보이는 난 단지 경로가 아닌 파일 이름을 지정되기 전에 너무 C:\Users\MyUser\DesktopC:\Users\MyUser\Desktop\fileNameIWant.ext

된다.

0

C:\Users\MyUser\Desktop\fileNameIWant.ext가 쓸 수있는 권한이 없습니다 루비 스크립트를 실행중인 사용자 같은데하게 보이는 귀하의 HDD에. 어쩌면 MyUser이 스크립트를 실행하는 사용자가 아닙니다.

편집 :

는 얘기를 깜빡 했네요 당신이 시도하고 윈도우 백 슬래시를 피할 수 있습니다. 시도 :

C:\\Users\\MyUser\\Desktop 

당신이 광기를 방지하기 위해 할 수있는

+0

저는 관리자 계정이 아닌 데스크탑에있는 동일한 사용자로 루비 스크립트를 실행하고 있습니다. –

+0

"C : \ Users \ MyUser \ Desktop"과 "C : \\ Users \\ MyUser \\ Desktop"'을 모두 시도했습니다. 사이드 노트에서 폴더 대신 "C : \\ Users \\ MyUser \\ Desktop \\ TheFileName.ext"와 같은 것을 사용해야합니까? –

+0

그래, 문서를보고, 당신이 파일 이름이 필요한 것처럼 보입니다. 그러면 권한 거부 오류도 설명됩니다. 당신은 폴더 위에 쓸 수 없습니다. – kch

0

한 가지, 루비를 사용하는 경우 윈도우 파일 이름에 백 슬래시를 사용을 중지 로컬 경로로. IO documentation 당 : 당신이 당신의 파일에 경로에 파일 이름을 지정해야합니다 같은

Ruby will convert pathnames between different operating system conventions if possible. For instance, on a Windows system the filename "/gumby/ruby/test.rb" will be opened as "\gumby\ruby\test.rb". [...]

+0

광기? 이게 루비 야! 이것은 내가 지금부터 할 일이고, 경로를 이해하기 쉽게 만들어 줄 것입니다. –

관련 문제