7

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 クラスのヘルプを見ましたが、ディレクトリの書き込み権限を確認できるメソッドが見つかりません。方法はありますか?

Ruby 1.9.3を使用して、Windowsでのみ動作する必要があります。

4

2 に答える 2

3

Windows では、 win32-file gemのFile.attributesまたはFile.readonly?メソッドが必要です。

また、Daniel Berger への貢献を検討する必要があります。彼の win32-gem がなければ、Ruby on Windows ははるかに敵対的な場所になるからです。

于 2012-01-26T11:41:13.973 に答える
0

あなたはそれを使用してそれを行うことができるかもしれませんworld_writable?(filename)

http://ruby-doc.org/core-1.9.3/File.html#method-c-world_writable-3F

于 2012-01-26T10:23:58.760 に答える