انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


 خبرها، اتفاقات و تصاویر مربوط به مربوط به جشن انتشار را با هشتگ ufest1804 در شبکه‌های اجتماعی دنبال کنید

نویسنده موضوع: حذف تمامی فایلها به جز تصاویر [حل شد]  (دفعات بازدید: 99 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین abbasalim

  • High Sr. Member
  • *
  • ارسال: 624
  • جنسیت : پسر
  • http://esfandune.ir/
    • اسفندونه
سلام.
من  یه اسکریپتی . برنامه ای چیزی میخوام که بره داخل تمام پوشه هایی که داخل آدرسی که میدم هست رو بگرده و هرچی فایل هست به جز پسوندی که من بهش میدم رو حذف کنه.
« آخرین ویرایش: 15 دی 1397، 10:11 ق‌ظ توسط abbasalim »

آفلاین abbasalim

  • High Sr. Member
  • *
  • ارسال: 624
  • جنسیت : پسر
  • http://esfandune.ir/
    • اسفندونه
پاسخ : حذف تمامی فایلها به جز تصاویر
« پاسخ #1 : 15 دی 1397، 10:10 ق‌ظ »
در نهایت این کد رو نوشتم میزارم دوستانم خواستن استفاده کنند. فقط مواظب باشید خیلی خطرناکه :o
کد زیر هرچی فایل باشه تو پوشه هایی که داخل پوشه ای که ادرس می دید هست رو به جز "jpg","png","psd" ها حذف میکنه. که میتونید پسوندها رو در متغیر notRmvFile کم و زیاد کنید

import java.io.File;
import java.util.Scanner;

/**
 *
 * @author abbasalim
 */
public class Fileremover {
   
    static int cntr=0;
   //  final static String[] notRmvFile=new String[]{"doc","txt","docx"};
   final static String[] notRmvFile=new String[]{"jpg","png","psd"};
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hello :)");
        System.out.print("i'm a file remover!!!! that remove All Files Expect ");
        for(String ext:notRmvFile)
            System.out.print(ext+",");
        System.out.println(" files\n Please input your Folder Path:");
        Scanner scan =new Scanner(System.in).useDelimiter("\n");
        String Path = scan.next();
        File root = new File(Path);
        if (root.isDirectory())
            init(root,0);
        System.out.println("finished "+cntr+" file Scanned");
    }
   
    private static void init(File root,int lvl){
        int index=0;
        cntr++;
        for(String file:root.list()){
            index++;
                File sub =new File(root.getPath()+File.separator+file);
                if (sub.isFile()) {
//                    System.out.println(lvl+"_"+index+": "+sub.getName() + " isFile");
                    boolean isExcept=false;
                    for(String ext: notRmvFile){
                    if (sub.getName().toLowerCase().indexOf("."+ext.toLowerCase())!=-1)
                        isExcept=true;
                    }
                    if (!isExcept) {
                        System.out.println(sub.getName()+" rmvd");
                       sub.delete();//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    }
                }else{
//                    System.out.println(lvl+"_"+index+": "+sub.getName() + " isFolder");
                    init(sub,lvl+1);
                }
            }
    }
   
}