Quicken copy time when processing large files

I just started ruby not too long ago and I’m really new to the language.
But I came out with something; to copy files from path names to path
names using each respecive array elements.


$options=
[“2008*”, “2008*”, “700*”, “2008*”, “2008*”]

$source=
%w[C:/movtest/testing
C:/movtest/testing/new
U:/movtest/source
U:/movtest/new
U:/movtest/new1]

$dest=
%w[U:/test_1/ U:/dest1/ U:/dest2/ U:/dest3/ U:/dest4/]

while i<=j && i1<=j1 && i2<=j2

Dir.chdir($source[i])
print "\nSource: " + Dir.getwd + “\t\n”
print “Dest: " + $dest[i1] + “\n”
print “Options: " + $options[i2] +”\n”
FileUtils.cp_r Dir.glob($options[i2]), $dest[i1]
print “File Mov Test:Success”
i+=1
i1+=1
i2+=1
end


Apparently, when moving large files (i.e file size 50mb) it takes
relatively long as when i use ROBOCOPY (a robust copying software by
MSServer), but I cant use robocopy because it has it’s limitations,hence
i used ruby. As I will be running the ruby program on a server, I cant
afford to use too much memory while transferring files from one folder
to another as the server is used for more impt tasks like running impt
applications in the office.

So is there anything that i could do to quicken the copying process
without compromising on the ability to have different path names and
options for copying files? (i understand that arrays do take up more
memory)
Thanks in advance. =)

Clement Ow wrote:

I just started ruby not too long ago and I’m really new to the language.
But I came out with something; to copy files from path names to path
names using each respecive array elements.

You might try something such as:

#!/usr/bin/ruby

def copyfiles(files)
files = files.split(",")

print "Copy to Where?: "
dir = gets.strip!
curdir = Dir.pwd

files.each do |copy|
Dir.chdir(curdir)
input = []
IO.foreach(copy){|x| input << x}

Dir.chdir("/")
Dir.chdir(dir)
output = File.new(copy,‘w+’)
output.puts input
output.close()
end
end

copyfiles(‘testdoc1.txt,testdoc2.txt’)

#######

I’m not familiar with ROBOCOPY so I dont know what the memory usage
difference would be between this and robocopy, but give it a shot and
see what happens.

  • Mac

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs