On Jun 1, 9:37 pm, Jer <jeremyhei... / gmail.com> wrote:
> On Jun 1, 7:59 pm, Jeremy Woertink <its_conebred_... / hotmail.com>
> wrote:
>
>
>
> > I am in need of some help with moving some files. I have some folders
> > that are inside an images directory, and inside each of the these
> > directories there are images that I want to move to another folder so
> > that all the images are all in the same folder.
>
> > Here's what I got so far, one problem is when I call photos, it looks at
> > the directory where the script is held, but I want it to look at the
> > directory the images are in.
>
> > require 'fileutils'
>
> > current_dir = Dir.pwd
>
> > photos = Dir.glob("*.{jpg,gif}")
>
> > directories = Array.new
> > Dir.new(Dir.pwd).entries.each { |dir| directories.push(dir) if
> > File.directory?(dir) }
>
> > directories.each do |dir|
> >   next if dir.eql?(".")
> >   next if dir.eql?("..")
> >   photos.each do |pic|
> >     FileUtils.mv(pic, "C:\Scripts\folder 2")
> >   end
> > end
>
> > Any help is appricated
>
> > --
> > Posted viahttp://www.ruby-forum.com/.
>
> If Dir.pwd gives you the directory of the script, how would it know
> where the images directory is?

Also, your Dir.glob returns an array holding all your jpg or gif
images. Therefore you don't need to take them and put them into
another array. Your script can be chomped down to three lines of code
(including the require) or four if you use do..end instead of { and }.

require 'fileutils'
Dir.chdir('/Users/jeremy/Desktop/photos')
Dir.glob("*.{jpg,gif}").each { |pic| FileUtils.mv(pic, "/Users/jeremy/
Desktop") }

Look through your code an compare it to mine. Do you see the
differences?