我正在使用Ruby,需要在尝试创建新文件之前检测目录是否可写。
我尝试了以下代码,根据@path是否是目录,它正确返回true / false。 但是,如果没有对@path文件夹的写入权限,它仍会返回true。
if File.directory?(@path) && File.writable?(@path)
#is a writeable directory
true
else
#is not a writeable directory
false
end
我查看了File和Dir类的帮助,但看不到任何允许我检查目录写权限的方法。有办法吗?
我只需要在Windows上使用Ruby 1.9.3。
答案 0 :(得分:3)
对于Windows,您需要File.attributes
gem中的File.readonly?
或win32-file方法。
你应该考虑为Daniel Berger做贡献,因为如果没有他的win32- gems,Ruby on Windows将是一个更加敌对的地方。
答案 1 :(得分:0)
您可以使用world_writable?(filename)
http://ruby-doc.org/core-1.9.3/File.html#method-c-world_writable-3F