슬기로운 전산실 생활

다운로드 폴더 정리 프로그램.... (C# 윈폼 .net)

Baetab 2023. 12. 9. 09:42

아 최근 업무중 레퍼런스 문서 및 프로그램들 참 많이도 다운받아서..

 

다운로드폴더가 너무 지저분해서 어지러웠다..

 

정리하거나 지우거나 해야하는데 귀찮아서 한번 만들어봤다..

 

원버튼으로 동작..ㅋ

아래는 소스폴더.. 입맞에 맞게 수정하면 되겠다..

개인적으로 시간날때 . 확장자등 추가를 옵션으로 넣을 생각이다.

동작 영상

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CleanUpDownloadFolder
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += button1_Click;
        }
        private void button1_Click(object sender,EventArgs e)
        {
            string folderPath = @"다운로드 폴더 경로"; // 정리 대상 폴더 경로
            if (!Directory.Exists(folderPath))
            {
                MessageBox.Show("폴더가 존재하지 않습니다.");
                return;
            }
            string[] files = Directory.GetFiles(folderPath); // 폴더 내의 파일들 가져오기
            
            foreach (string file in files)
            {
                string extension = Path.GetExtension(file).ToLower(); // 파일의 확장자 가져오기
                
                // 각 확장자에 따라 파일을 이동시킬 폴더 경로 설정
                // 입맛에 맞게 커스터마이징 해도되고.. 능력되면.. 옵션으로 추가해도..
                string destinationFolder = string.Empty;
                if (extension == ".jpg" || extension == ".img" || extension == ".bmp")
                {
                    destinationFolder = Path.Combine(folderPath, "이미지");
                }
                else if (extension == ".html" || extension == ".pdf" || extension == ".txt" || extension == ".xls" || extension == ".xlsx" || extension == ".hwp")
                {
                    destinationFolder = Path.Combine(folderPath, "문서");
                }
                else if (extension == ".exe" || extension == ".msi" || extension == ".bat")
                {
                    destinationFolder = Path.Combine(folderPath, "프로그램");
                }
                else if (extension == ".zip")
                {
                    destinationFolder = Path.Combine(folderPath, "기타");
                }

                // 폴더 생성
                if (!string.IsNullOrEmpty(destinationFolder) && !Directory.Exists(destinationFolder))
                {
                    Directory.CreateDirectory(destinationFolder);
                }

                // 파일 이동
                if (!string.IsNullOrEmpty(destinationFolder))
                {
                    string fileName = Path.GetFileName(file);
                    string destinationPath = Path.Combine(destinationFolder, fileName);
                    File.Move(file, destinationPath);
                }
            }
            MessageBox.Show("파일 정리가 완료되었습니다.","알림" , MessageBoxButtons.OK , MessageBoxIcon.Information);
        }
    }
}