Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Quicken copy time when processing large files
Clement Ow
4/4/2008 10:17:00 AM
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. =)
--
Posted via
http://www.ruby-...
.
1 Answer
Michael Linfield
4/8/2008 6:53:00 AM
0
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
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Quicken copy time when processing large files
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password