Salut , j'ai un probleme , j'ai fait un script qui va copier les fichier et les dossier en gardant l'architecture , mais je sait pas comment faire , la il me les copie tous a la racine du dossier cible , comment faire ?
voila mon code source:
que faire ? :p
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 require 'csv' require 'Functions/MD5.rb' require 'ftools' $baseDir = Dir.pwd $filename = ARGV[0] $sourceDir = ARGV[1] def analyze(i) if File.directory?(i) actual = Dir.pwd Dir.chdir(i) puts "Navigations dans #{i}" Dir["*"].each do |d| analyze(d) end Dir.chdir(actual) else puts "Analyse de #{i}" $data[i] = checkFile(i) puts "Copie de #{i}" File.copy(i,"#{$baseDir}/Dist/#{$filename}_data/#{i}") end end puts "Creation du repertoire de Distibution ,et ecriture du descripteur ..." Dir.mkdir("Dist") Dir.chdir("Dist") Dir.mkdir("#{$filename}_data") Dir.chdir($baseDir) Dir.chdir($sourceDir) do sourceData = Dir["*"] $data = {} sourceData.each do |d| analyze(d) end end Dir.chdir("#{$baseDir}/Dist") CSV.open($filename, 'w') do |writer| $data.each do |f| writer << [f[0] , f[1]] end end puts "l'operation est terminé , vous devez maintenant publier le dossier Dist/"
merci
Partager