रुबी में एक फ़ाइल का नाम कैसे बदलें? - रूबी, फाइल, डीआईआर

यहाँ मेरी। आरबी फाइल है:

puts "Renaming files..."

folder_path = "/home/papuccino1/Desktop/Test"
Dir.glob(folder_path + "/*").sort.each do |f|
filename = File.basename(f, File.extname(f))
File.rename(f, filename.capitalize + File.extname(f))
end

puts "Renaming complete."

फ़ाइलों को उनकी प्रारंभिक निर्देशिका से स्थानांतरित किया जाता है जहां .rb फ़ाइल स्थित होती है। मैं उन्हें स्थानांतरित किए बिना, स्थान पर फ़ाइलों का नाम बदलना चाहता हूं।

कोई सुझाव कि क्या करना चाहिये?

उत्तर:

उत्तर № 1 के लिए 78

बस के बारे में क्या:

File.rename(f, folder_path + "/" + filename.capitalize + File.extname(f))

जवाब के लिए 22 № 2

फ़ोल्डर_पथ को फ़ाइल नाम का हिस्सा नहीं होना चाहिए?

puts "Renaming files..."

folder_path = "/home/papuccino1/Desktop/Test/"
Dir.glob(folder_path + "*").sort.each do |f|
filename = File.basename(f, File.extname(f))
File.rename(f, folder_path + filename.capitalize + File.extname(f))
end

puts "Renaming complete."

संपादित करें: ऐसा प्रतीत होता है कि मैट एक ही जवाब दे रहा है, केवल थोड़ी अलग तरीके से।


जवाब के लिए 13 № 3

यदि आप उस फ़ाइल के समान स्थान पर चल रहे हैं, जिसे आप बदलना चाहते हैं

File.rename("test.txt", "hope.txt")

यद्यपि ईमानदारी से, मैं कभी-कभी मुझे रूबी का उपयोग करने में बिंदु नहीं देखता हूं ... संभवतः इतनी देर की आवश्यकता नहीं है क्योंकि आपके फाइलनामों को केवल खोल में व्याख्या किया जाता है:

`mv test.txt hope.txt`

जवाब के लिए 2 № 4

यदि आप लिनक्स फ़ाइल सिस्टम पर हैं तो आप कोशिश कर सकते हैं mv #{filename} newname

आप File.rename (पुराना, नया) भी उपयोग कर सकते हैं


जवाब के लिए 0 № 5

इस पैटर्न का उपयोग न करें जब तक कि आप फ़ाइल नामों के आसपास उचित उद्धरण लगाने के लिए तैयार न हों:

`mv test.txt hope.txt`

दरअसल, मान लीजिए कि "hope.txt" की बजाय आपके पास "foo the bar.txt" नामक एक फ़ाइल है, नतीजा यह नहीं होगा कि आप क्या उम्मीद करते हैं।


संबंधित सवाल
सबसे लोकप्रिय