یک اسکریپت Ruby بنویسید که فایلهای داخل پوشه "source" را بر اساس پسوندشان به زیرپوشههایی داخل پوشه "organized" منتقل کند و در انجام عملیات از ماژول FileUtils استفاده کند.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:48 0.0
برای حل این مسئله در Ruby از require 'fileutils' استفاده کنید، لیست فایلها را با Dir.foreach یا Dir.glob بگیرید و برای هر مورد با File.file? بررسی کنید که فایل است نه پوشه. پسوند را با File.extname استخراج و به حروف کوچک تبدیل کنید، در صورت نداشتن پسوند آنها را در پوشهای مانند "no_extension" قرار دهید، سپس با FileUtils.mkdir_p پوشه هدف را ایجاد و با FileUtils.mv فایل را منتقل کنید؛ برای جلوگیری از بازنویسی از File.exist? استفاده و در صورت نیاز نام جدیدی با شمارنده بسازید. این روش ساده و مناسب مبتدیان است و به شما اجازه میدهد روی مفاهیم پایهای File & I/O و ماژول FileUtils کار کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
یه نکتهٔ مفید این است که با استفاده از File.extname پسوند را به حروف کوچک تبدیل کنید تا دستهبندی یکپارچه باشد و فایلهای بدون پسوند را به پوشهٔ no_extension منتقل کنید. همچنین برای جلوگیری از بازنویسی، قبل از mv وجود نام مقصد را با File.exist؟ بررسی کنید و در صورت وجود از شمارنده یا زماننگاری برای نام جدید استفاده کنید. استفاده از Dir.glob یا Dir.foreach برای جمعآوری فایلها ساده است و FileUtils.mkdir_p برای ایجاد پوشهٔ هدف به صورت ایمن کاربرد دارد. در نهایت با File.file? اطمینان حاصل کنید که ورودیها فایل هستند نه پوشهها.
گزارش