creating directory and zipping it

Discussion in 'Ruby' started by Raju Aralikatti, Jan 8, 2008.

  1. hi,
    can anyone help me.

    I want to create a folder, create another file of .url type and save the
    url file in the folder and zip the folder. I am sending the code which
    I have written and I am getting following error. "No such file or
    directory - InstitutionShortcut"

    dir_name = Dir.new("InstitutionShortcut")
    file_path =
    "#{RAILS_ROOT}/public/test/#{dir_name}/Isabel-#{@institutions.institution_name}.url"
    f = File.new(file_path, "w")
    content = ""
    content += "[InternetShortcut]\n"
    content += "URL=http://192.168.1.233:5555/index.jsp?"
    content += "passcode="+"\n"
    content += "IconFile=http://192.168.1.233:5555/favicon.ico\n"
    content += "IconIndex=1\n"
    content += "Modified=30B027EB835EC40198"
    f.write( content )
    f.close
    dir_name.zip

    can anyone help me

    Thanks in advance
    --
    Posted via http://www.ruby-forum.com/.
     
    Raju Aralikatti, Jan 8, 2008
    #1
    1. Advertising

  2. Raju Aralikatti

    Matt Todd Guest

    Matt Todd, Jan 8, 2008
    #2
    1. Advertising

  3. Raju Aralikatti, Jan 8, 2008
    #3
  4. Raju

    1. Create a directory
    d =3D Dir.mkdir('test')
    #creates a directory named 'test'
    2. Create a file
    File.open('test/test.txt', 'w') { |f| puts 'Hello World' }
    #creates a new file named test.txt inside the directory 'test' and =
    writes 'Hello World' into the file
    3. This is done in the above code by creating the new file inside the =
    directory itself
    4. Zip the directory
    %x{zip -r test.zip test}
    #This executes the zip command of the underlying operating system =
    (I'm using Linux) and creates a zip file named test.zip containing the =
    directory 'test' (the -r flag makes the zipping recursive)
    #If you can't use that (on Windows), try rubyzip.sourceforge.net/ - =
    I have not used it but I found it via Google search

    Hope that helps

    Regards

    Andrew Timberlake

    082 415 8283
    skype: andrewtimberlake

    "I have never let my schooling interfere with my education."
    --Mark Twain


    -----Original Message-----
    From: [mailto:] On Behalf =
    Of Raju Aralikatti
    Sent: 08 January 2008 08:42 AM
    To: ruby-talk ML
    Subject: Re: creating directory and zipping it

    Matt Todd wrote:
    > http://rake.rubyforge.org/svn/trunk/lib/rake/packagetask.rb
    >=20
    > Has some code for packing things up.
    >=20
    > Matt


    hi Matt,
    I m new to ruby, can you tell me how to

    1. create directory using ruby.
    2. Then create a file.
    3. Put the newly created file in the new directory.
    4. zip the directory.
    --=20
    Posted via http://www.ruby-forum.com/.


    !DSPAM:3,47831c5e223171609211822!
     
    Andrew Timberlake, Jan 8, 2008
    #4
  5. thanks Andrew,
    The code which you sent is working fine, I am also using a Linux
    machine, But the it is not ziping the folder. Is there anything else I
    can use.
    --
    Posted via http://www.ruby-forum.com/.
     
    Raju Aralikatti, Jan 8, 2008
    #5
  6. and also Andrew I want to overwrite the directory if the newly created
    directory has the same name of the existing directory.
    --
    Posted via http://www.ruby-forum.com/.
     
    Raju Aralikatti, Jan 8, 2008
    #6
  7. Raju

    If you run the zip code in irb, what output do you get?
    I get the following:
    Irb(main):001:0> %x{zip -r test.zip test}
    =3D> " adding: test/ (stored 0%)\n adding: test/test.txt (stored 0%)\n"

    Andrew Timberlake

    082 415 8283
    skype: andrewtimberlake

    "I have never let my schooling interfere with my education."
    --Mark Twain


    -----Original Message-----
    From: [mailto:] On Behalf =
    Of Raju Aralikatti
    Sent: 08 January 2008 11:47 AM
    To: ruby-talk ML
    Subject: Re: creating directory and zipping it

    thanks Andrew,
    The code which you sent is working fine, I am also using a Linux=20
    machine, But the it is not ziping the folder. Is there anything else I=20
    can use.
    --=20
    Posted via http://www.ruby-forum.com/.


    !DSPAM:3,4783479a35767204610105!
     
    Andrew Timberlake, Jan 8, 2008
    #7
  8. Raju

    By overwrite the directory, I assume you want to delete the contents of =
    the directory if it exists, you can do that as follows:
    if File.exists?('test') && File.directory?('test')
    Dir['test/**/*'].reverse.each { |path| if File.file?(path) then =
    File.delete(path) else Dir.rmdir(path) end }
    else
    Dir.mkdir('test')
    end

    Andrew Timberlake

    082 415 8283
    skype: andrewtimberlake

    "I have never let my schooling interfere with my education."
    --Mark Twain


    -----Original Message-----
    From: [mailto:] On Behalf =
    Of Raju Aralikatti
    Sent: 08 January 2008 11:51 AM
    To: ruby-talk ML
    Subject: Re: creating directory and zipping it

    and also Andrew I want to overwrite the directory if the newly created=20
    directory has the same name of the existing directory.
    --=20
    Posted via http://www.ruby-forum.com/.


    !DSPAM:3,4783489239791012915643!
     
    Andrew Timberlake, Jan 8, 2008
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kasper K

    Zipping a directory

    Kasper K, Dec 22, 2003, in forum: Java
    Replies:
    1
    Views:
    1,518
    Harald Hein
    Dec 22, 2003
  2. Replies:
    1
    Views:
    3,948
    Andrey Kuznetsov
    Nov 11, 2005
  3. Doug Tolton

    Zipping and Unzipping files

    Doug Tolton, Nov 21, 2003, in forum: Python
    Replies:
    1
    Views:
    323
    Peter Hansen
    Nov 21, 2003
  4. OriginalBrownster

    Zipping Files to user defined Directory

    OriginalBrownster, Jul 28, 2006, in forum: Python
    Replies:
    4
    Views:
    339
    Danny Milosavljevic
    Sep 2, 2006
  5. Just in
    Replies:
    1
    Views:
    102
Loading...

Share This Page