Bobby Sutter wrote: > Hi, > > I am a beginner with very basic knowledge of ruby, but I would like to > create a script that would do the following: > > 1) Prompt to input disc > 2) Create a new sequential folder within a specified directory > 3) Copy all files from disc into said folder > 4) Eject disc > 5) Prompt to input another disc > > Essentially, I must copy the data off of ~1000 CDs and put the data into > a separate folder for each disc. I would be doing this in a linux > environment (ubuntu or debian). > > Does anyone have any tips on where to start? Can this even be done with > ruby? Thanks! > Beginner? Me too, but I may know a bit more than you at this point. I know that the first time I tried to do something like this I ran into a few surprises. So...I'll do for you what others here have done for me - an act of generosity that is rather often characteristic of this list - throw some code at you. While the following code is rudimentary, it does meet your specifications - at least on my Kubuntu Linux OS. You may have to look up some things to make complete sense of it - or ask more questions. Hope this is useful. # cds_copy.rb def main cd_source = "/media/cdrom" # CDs read from here dirbase = "/home/tomc/Ruby-work/a-test" # new dirs created here dirstart = 0 # dir counter (for name creation) while true # loop forever until told to stop # Prompt to input disc puts "Load CD. Press enter when loaded. Enter 'x' to exit." gets # input defaults to '$_' exit if /^x/ =~ $_ system( "mount '" + cd_source + "'" ) # Create a new sequential folder within a specified directory foldernew = ( 'CD' + (dirstart.to_i + 1).to_s ) dirstart += 1 # Copy all files from disc into new folder FileUtils.cp_r(cd_source, foldernew) # recursive copy # Eject disc system( "eject '" + cd_source + "'" ) end end require "fileutils" main # end file Tom C. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist Bellingham, Washington, U.S.A: (360) 920-1226 << tc / tomcloyd.com >> (email) << TomCloyd.com >> (website) << sleightmind.wordpress.com >> (mental health weblog) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~