From: ruby talk Date: 2004-10-21T02:00:21+09:00 Subject: FTP folder creation mkdir problem I log in fine. I move to differnt folders fine. I display everthing fine, unless i create a directory. I am not well versed in FTP protocol i see "aSession.mkdir( dir ) .." Issues the corresponding server command and returns the result. In the chm file, and i tried to understand and incorperate the code from http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/73557?73397-74534 even if i use this code it gives me the error. I only get the error, if i try to do something after creating the file. The error?: Main Texts 1) Login 2) PWD 3) CD 4) Display files & folders 5) Download 6) Upload 7) Make DIR 8) MISS 9) Close session Enter Number!:7 Enter new folder name: asdfasdf Main Texts 1) Login 2) PWD 3) CD 4) Display files & folders 5) Download 6) Upload 7) Make DIR 8) MISS 9) Close session Enter Number!:4 z:/ruby/lib/ruby/1.8/net/ftp.rb:243:in `getresp': 500 '': command not understood. (Net::FTPPermError) from z:/ruby/lib/ruby/1.8/net/ftp.rb:264:in `sendcmd' from z:/ruby/lib/ruby/1.8/net/ftp.rb:262:in `synchronize' from z:/ruby/lib/ruby/1.8/net/ftp.rb:262:in `sendcmd' from z:/ruby/lib/ruby/1.8/net/ftp.rb:723:in `getdir' from Z:/ftp.rb:31:in `man' from Z:/ftp.rb:114 Press any key to continue . . . ##############code###### require 'socket' require 'net/ftp' def man choice = -1 while choice!=9 print "Main Texts\n\n\n" print "1) Login\n" print "2) PWD\n" print "3) CD\n" print "4) Display files & folders\n" print "5) Download\n" print "6) Upload\n" print "7) Make DIR\n" print "8) MISS\n" print "9) Close session\n" while choice<1 || choice>9 print "Enter Number!:" choice=gets.to_i end print "\n" if choice==1 then login choice = -1 elsif choice==2 then print $ftp.getdir,"\n" choice = -1 elsif choice==3 then change_loc choice = -1 elsif choice==4 then a=$ftp.dir($ftp.getdir) a.each do |c| print c,"\n" end choice = -1 elsif choice==5 then file_down choice = -1 elsif choice==6 then file_up choice = -1 elsif choice==7 then print "Enter new folder name:\n" nwfold = gets $ftp.mkdir(nwfold) choice = -1 end end end def login # a check to see if it is already connected ftploc=String.new('') print "Enter ftp server:\n" ftploc=gets.strip begin $ftp= Net::FTP::new(ftploc) rescue SocketError => e print "!!!!!Failed connection!!!\n\n" return 0 end print "Enter Logon name:\n" nm=gets.strip print "Enter password:\n" pass=gets.strip begin $ftp.login(nm,pass) rescue Net::FTPPermError => e print "!!!!!!Failed to log in!!!\n\n" $ftp.close return 0 end print $ftp.welcome,"\n" end def change_loc print "Enter new location:" newloc = gets.strip print "\n" begin $ftp.chdir(newloc) rescue Net::FTPPermError => e print "!!!failed to change directory!!!" return 0 end print "Current location ",$ftp.getdir,"\n\n" end def file_down print "\nDown File Menu\n\n1)Binaray\n2)ascii Suggested\n" op = gets.to_i print "File to get location/name\n" from = gets.strip print "Place to save file\n" to = gets.strip if op == 1 then $ftp.getbinaryfile(from,to) elsif op == 2 then $ftp.gettextfile(from,to) else "If you dont know how to enter a 1 or 2 then you dont get the file\n" end print "\n",$ftp.lastresp,"\n" end def file_up print "\nUp File Menu\n\n1)Binaray\n2)ascii Suggested\n" op = gets.to_i print "File to send location/name\n" from = gets.strip print "Place to save file\n" to = gets.strip if op == 1 then $ftp.putbinaryfile(from,to) elsif op == 2 then $ftp.puttextfile(from,to) else "If you dont know how to enter a 1 or 2 then you dont send the file\n" end print "\n",$ftp.lastresp,"\n" end def others end man $ftp.close sleep 2 ##############code####### Thank you.