2012-01-11 9 views
2

ファイルをディレクトリ構造でコピーする方法はありますか?ディレクトリ構造を持つファイルをコピーするにはどうすればよいですか?

files = FileList.new() 
    files.include("#{HOST_DIR}/**/bin/*.dll") 
    files.include("#{HOST_DIR}/**/bin/*.pdb") 
    files.include("#{HOST_DIR}/**/bin/*.xml") 
    files.include("#{HOST_DIR}/**/bin/**/*.xml") 
    files.include("#{HOST_DIR}/**/TestData/*.*") 
    FileUtils.cp(files,'c:/temp',:verbose => true)  

それをコピーしたすべてのファイルを一つのフォルダc:/tempに:ここで

は私が持っているものです。ファイルを #{HOST_DIR}に保存したいと思います。

UPDATE

files.each do |file| 
    target = file.sub(SERVICEHOST_DIR,'c:/temp') 
    FileUtils.mkdir_p(File.dirname(target))  
    FileUtils.cp_r(file,target,:verbose => true) 
    end 

が良い1があります:

私は解決策を得ましたか。

答えて

0

私はFileUtils#cp_rがすべきことだと思います。

dest = 'c:/temp' 

files = Dir.chdir(HOST_DIR) do 
    Dir.glob %w' **/bin/*.dll 
       **/bin/*.pdb 
       **/bin/*.xml 
       **/bin/**/*.xml 
       **/TestData/*.* 
      ' 
end 

FileUtils.cp_r files, dest, :verbose => true 
+0

FileUtils.cp_rが私のために機能しませんでした。 –

関連する問題