Hi all,
I will try to explain my problem. i'm french, well, sorry for grammatical mistakes
I try to compare the files in two directories : per Date / Length / Last modification. But, well, i'm noob in Ruby so i do something but it's not very powerful :-(, it just check files who are not in both directories ...
Here my coding for the moment:
# global variable
logfile = File.new("log_cservers.txt","w"
# Intialize the date/time when the script is launched
now = Time.new
now.localtime
# begin
print "Welcome in cservers ! you will able to compare directories in two servers. \n"
print "Make sure you have the two server connecting on your computer. If not, please do a network mapping. \n\n"
# Here you have to write the two directories between " "
serv1 = "F:\\Apriso\\FlexNet72\\Kernel"
serv2 = "K:\\Apriso\\FlexNet72\\Kernel"
print "#{serv1} VS #{serv2}\n\n"
# Here we look for the directories
if File.exist?(serv1)
print "#{serv1} ------> ON\n"
else print "#{serv1} ------> OFF\n"
end
if File.exist?(serv2)
print "#{serv2} ------> ON\n"
else print "#{serv2} ------> OFF\n"
end
# Here we collect files' names in the directories
@file_in_1 = Dir.entries(serv1)
@file_in_2 = Dir.entries(serv2)
# Files' comparaison - In logfile we note files who don't exist in serv1 AND serv2
$stdout = logfile
puts "----------\n"
puts now.ctime
puts "\n----------\n"
puts "File in #{serv1} and not in #{serv2}\n"
puts "----------\n\n"
@file_in_1.each do |x|
x_attr = serv1 << x
filexist = 0
i = 0
while i < @file_in_1.length do
filexist = 1 if x == @file_in_2
i += 1
end
puts "#{x} \t Size=#{x_attr.size} \n" if filexist == 0
end
puts "\n----------\n"
puts "File in #{serv2} and not in #{serv1}\n"
puts "----------\n\n"
@file_in_2.each do |x|
x_attr = serv2 << x
filexist = 0
i = 0
while i < @file_in_2.length do
filexist = 1 if x == @file_in_1
i += 1
end
puts "#{x} \t Size=#{x_attr.size} \n" if filexist == 0
end
Thanks in advance !
Liondrys
I will try to explain my problem. i'm french, well, sorry for grammatical mistakes
I try to compare the files in two directories : per Date / Length / Last modification. But, well, i'm noob in Ruby so i do something but it's not very powerful :-(, it just check files who are not in both directories ...
Here my coding for the moment:
# global variable
logfile = File.new("log_cservers.txt","w"
# Intialize the date/time when the script is launched
now = Time.new
now.localtime
# begin
print "Welcome in cservers ! you will able to compare directories in two servers. \n"
print "Make sure you have the two server connecting on your computer. If not, please do a network mapping. \n\n"
# Here you have to write the two directories between " "
serv1 = "F:\\Apriso\\FlexNet72\\Kernel"
serv2 = "K:\\Apriso\\FlexNet72\\Kernel"
print "#{serv1} VS #{serv2}\n\n"
# Here we look for the directories
if File.exist?(serv1)
print "#{serv1} ------> ON\n"
else print "#{serv1} ------> OFF\n"
end
if File.exist?(serv2)
print "#{serv2} ------> ON\n"
else print "#{serv2} ------> OFF\n"
end
# Here we collect files' names in the directories
@file_in_1 = Dir.entries(serv1)
@file_in_2 = Dir.entries(serv2)
# Files' comparaison - In logfile we note files who don't exist in serv1 AND serv2
$stdout = logfile
puts "----------\n"
puts now.ctime
puts "\n----------\n"
puts "File in #{serv1} and not in #{serv2}\n"
puts "----------\n\n"
@file_in_1.each do |x|
x_attr = serv1 << x
filexist = 0
i = 0
while i < @file_in_1.length do
filexist = 1 if x == @file_in_2
i += 1
end
puts "#{x} \t Size=#{x_attr.size} \n" if filexist == 0
end
puts "\n----------\n"
puts "File in #{serv2} and not in #{serv1}\n"
puts "----------\n\n"
@file_in_2.each do |x|
x_attr = serv2 << x
filexist = 0
i = 0
while i < @file_in_2.length do
filexist = 1 if x == @file_in_1
i += 1
end
puts "#{x} \t Size=#{x_attr.size} \n" if filexist == 0
end
Thanks in advance !
Liondrys