我必須在Windows 7上運行ruby腳本(我知道這是個壞主意)。 我的腳本創建文件夾(如果它們不存在)並將文件複製到它們中。 我使用的文件實用程序庫執行這項工作,如:必須在Windows 7上運行ruby腳本並獲得權限被拒絕EACCES
FileUtils.mkdir_p(path)
FileUtils.cp_r(file.path, path)
FileUtils.touch(file)
在Ubuntu和Mac一切正常,但Windows 7的機器上我得到了一個錯誤:
Permission denied - ./program_folder/input/. (Errno::EACCES)
這個代碼行:
Dir.entries('./program_folder/input').map { |file_name| File.new("./program_folder/input/#{file_name}") }.compact
任何想法如何解決它?
我試圖用管理員權限運行Ruby和IRB吡嗪酰胺,並試圖在所有路徑,但仍然沒有改變做FileUtils.chmod_R(0777,@Path)...
我不覆蓋文件,我只是從這個Dir創建包含所有文件對象的數組。 「File.new根據給定的模式打開文件名稱的文件並返回一個新的File對象。「 – Extazystas
看到我的編輯,我想,我現在明白你想達到什麼樣的效果了 – knut
我明白了,我已經刪除了'。' ('./ program_folder/input')。map {| file_name | File.new(「./ program_folder/input /#{file_name}」)除非file_name =〜 /^\.\.?$/} .compact 現在我在這個代碼的'utime'權限中有Fileutils的另一個錯誤:FileUtils.touch(file) 所以,謝謝! – Extazystas