首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图下载Net::SFTP,但获取Errno::EACCES:权限被拒绝-我要复制到的目录

试图下载Net::SFTP,但获取Errno::EACCES:权限被拒绝-我要复制到的目录
EN

Stack Overflow用户
提问于 2013-04-29 13:30:18
回答 3查看 1.2K关注 0票数 0

我试图将一个文件从Unix框复制到我的本地桌面,但是我得到了错误:Errno::EACCES: Permission denied - C:\Users\MyUser\Desktop

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

我的桌面:Windows 7

ruby 1.8.7 (2010-12-23 patchlevel 330) i 386-mingw32 32

net-sftp (2.1.1)

Unix: SunOS

更新:看起来你必须在你的文件路径中指定文件名,这样C:\Users\MyUser\Desktop就变成了C:\Users\MyUser\Desktop\fileNameIWant.ext

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-01 13:40:30

看起来您必须在要文件路径中指定文件名,这样C:\Users\MyUser\Desktop才能成为C:\Users\MyUser\Desktop\fileNameIWant.ext

之前,我只指定了路径,而没有指定文件名。

票数 0
EN

Stack Overflow用户

发布于 2013-04-29 13:33:58

看起来,运行ruby脚本的用户没有写入HDD的权限。也许MyUser不是执行脚本的用户。

编辑:

忘了说,你可以试着逃避窗户的反斜杠。尝试:

代码语言:javascript
复制
C:\\Users\\MyUser\\Desktop

作为局部路径

票数 0
EN

Stack Overflow用户

发布于 2013-04-29 14:43:33

要避免疯狂,可以做的一件事是在使用Ruby时停止在Windows文件名中使用反斜杠。根据IO文件

如果可能,Ruby将在不同操作系统约定之间转换路径名。例如,在Windows系统上,文件名"/gumby/ruby/test.rb“将以"\gumby\ruby\test.rb”的形式打开。..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16279901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档