2016-04-27 6 views
0

次のコードは、古いディレクトリ名を新しいディレクトリ名に置き換えるディレクトリリストを反復処理する必要があります。ただし、FileUtils.mv呼び出しはそのようなファイルまたはディレクトリを返しません。Ruby FileUtils.mv:エラーファイルが見つかりません

私はこのループ

Dir["projects/*/*/old"].each{|dir| 
    Dir.chdir dir 
    Dir.chdir "../" 
    puts File.exists?("#{Dir.pwd }/old") 
    FileUtils.mv "#{Dir.pwd }/old", "#{Dir.pwd }/new_path" 
} 

を介して渡されたすべてのパスのためにtrueを返す行File.exists?が追加されている任意の考えは非常に高く評価されるだろう。

答えて

0

フォルダにも一致しているようです。ため、File.exists? 'folder'trueも返します。

名前がoldのフォルダがあるかどうかを確認してください。

# This will list all directories with a name "old" 
find . -name old -type d 
+0

ええ、oldというファイルはありません。ディレクトリのみです。 'File.exists?'は、ディレクトリとファイルの両方で動作します。 – CBusBus

関連する問題