[解決済み] Rubyでディレクトリを作成する
2022-04-22 12:47:11
質問
以下のコードでディレクトリを作成しようとしています。
Dir.mkdir("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
unless File.exists?("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
ところが、こんなエラーが出るんです。
そのようなファイルまたはディレクトリがありません - /Users/Luigi/Desktop/Survey_Final/Archived/Survey/test (Errno::ENOENT)
なぜ、このディレクトリが
Dir.mkdir
という文があります。
どのように解決するのですか?
おそらく、ネストしたディレクトリを作成しようとしているのでしょう。仮に
foo
が存在しない場合、次のようなメッセージが表示されます。
no such file or directory
のエラーが発生します。
Dir.mkdir 'foo/bar'
# => Errno::ENOENT: No such file or directory - 'foo/bar'
ネストしたディレクトリを一度に作成する場合。
FileUtils
が必要です。
require 'fileutils'
FileUtils.mkdir_p 'foo/bar'
# => ["foo/bar"]
Edit2:このような場合は
FileUtils
システムコールを行うこともできます(@muさんからの更新は短すぎるコメントです)。
> system 'mkdir', '-p', 'foo/bar' # worse version: system 'mkdir -p "foo/bar"'
=> true
しかし、この方法は、システムによっては使用できない外部の「ツール」を使用することになるため、(少なくとも私には)悪い方法と思われます(ただし、このようなツールがないシステムはほとんど考えられません)。
mkdir
しかし、それは誰にもわからないことです。)
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] ルビースリープやディレイは1秒以下?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyのclass << selfイディオム
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyで新しい文字列を作成せずに文字列をトリミングする標準的な方法は何ですか?
-
[解決済み】未定義のメソッド(NoMethodError)ruby
-
[解決済み] Rubyでファイルをあるディレクトリから別のディレクトリにコピーする
-
[解決済み] Rubyでファイル名を変更するには?
-
[解決済み] ルビーオールウェイズ ラウンドアップ
-
[解決済み] Ruby on railsで改行せずにコンソールに "puts "を使用するにはどうすればよいですか?
-
[解決済み] ルビー、すべての単語の最初の文字を大文字にする
-
[解決済み] gemのインストール中に "permission denied "エラーが発生するのはなぜですか?
-
[解決済み] Rubyで2次元配列の作成と反復処理
-
[解決済み] 動的な定数割り当て