On Wed, Apr 2, 2008 at 11:53 AM, Clement Ow <clement.ow / asia.bnpparibas.com> wrote: > I want to use each index of the array and loop it in such a way that the > path names can be passed into Dir so that i can carry out multiple > copies from different sources. unfortunately, it showed error while > trying to run the script. Any suggestions? > > > $DEST="U:/test1" > > source=["C:/movtest/testing", "C:/movtest", "U:/movtest", > "U:/movtest/new", "U:/movtest/new1"] > j=source.length - 1 > i= -1 > > while i<j > > Dir.chdir(source[i]) > print Dir.getwd > FileUtils.cp_r Dir.glob('2008*'), $DEST > i+=1 > > end > -- > Posted via http://www.ruby-forum.com/. > > You seem to get confused with the indexes, but the idiomatic Ruby code would rather look like dest = "u:/..." sources = %w{ c:/movetest/testing c:/ ... } # unless you have spaces in the pathes sources.each do | source | Dir.chdir source puts source FileUtiles.cp_r Dir.glob(...), dest # if this is what you really want end HTH Robert -- http://ruby-smalltalk.blogspot.com/ --- Whereof one cannot speak, thereof one must be silent. Ludwig Wittgenstein