728x90
반응형
● 프로그램 개요
여행, 혹은 기타의 이유로 사진을 많이 찍었을 때 정리를 편리하게 하기 위해 제작함
● 프로그램 기능 및 사용법
-사진 날짜별로 분류 후 폴더에 저장
&&사용법&&
-프로그램이 있는 폴더 안에 "working"폴더를 만든다
-working폴더 안에 정리할 사진파일을 넣는다.
-준비가 완료 되었으면 프로그램을 재시작합니다.
● 프로그램 다운로드
더보기
using System;
using System.IO;
using System.Collections.Generic;
using System.Windows.Media.Imaging;
namespace picturemetadata
{
class Program
{
static List<String> lst = new List<string>();
static int count = 0;
static void Main(string[] args)
{
Console.WriteLine("사진 정리 프로그램에 오신 것을 환영합니다.");
Console.WriteLine("수정 및 배포를 할 때에는 출처를 밝혀주시길 바랍니다.");
Console.WriteLine("제작 : SARACEN (saracen_dev@naver.com)");
Console.WriteLine("---------------------------------------------");
Console.WriteLine("※사용법※");
Console.WriteLine("1. 프로그램이 있는 폴더 안에 \"working\"폴더를 만든다");
Console.WriteLine("2. working폴더 안에 정리할 사진파일을 넣는다.");
Console.WriteLine("3. 준비가 완료 되었으면 프로그램을 재시작합니다.");
Console.WriteLine("---------------------------------------------.");
Console.WriteLine("계속 하실 거면 '1'을 입력하시고 엔터를 눌러주십시오. 그렇지 아니하면 엔터를 눌러주십시오.");
try
{
int check = Convert.ToInt32(Console.ReadLine());
if (check == 1)
{
int total = 0;
string Path = @Directory.GetCurrentDirectory() + @"\working";
if (Directory.Exists(Path))
{
DirectoryInfo di = new DirectoryInfo(Path);
foreach (var item in di.GetFiles())
{
filename(item.Name);
total++;
}
foreach (string a in lst)
{
File.Delete(a);
}
Console.WriteLine("총 파일 수 : " + total);
Console.WriteLine("완료한 파일 수 : " + count);
}
else
{
Console.WriteLine("working 폴더가 없습니다.");
}
Console.WriteLine("엔터를 눌러주십시오.");
Console.ReadLine();
}
}
catch
{
}
}
static public void filename(string f)
{
string path = @"working/" + f;
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
{
try
{
BitmapSource img = BitmapFrame.Create(fs);
BitmapMetadata md = (BitmapMetadata)img.Metadata;
string date = md.DateTaken;
char sp = ' ';
string[] spstring = date.Split(sp);
Console.WriteLine("완료한 파일 : "+ path + " , 찍은 날짜 : "+spstring[0]);
if(Directory.Exists(@Directory.GetCurrentDirectory() + "\\" + spstring[0]) == false)
{
Directory.CreateDirectory(@Directory.GetCurrentDirectory() + "\\" + spstring[0]);
}
File.Copy(Directory.GetCurrentDirectory() + "\\" + path, Directory.GetCurrentDirectory() + "\\" + spstring[0] + "\\" + f, true);
lst.Add(Directory.GetCurrentDirectory() + "\\" + path);
count++;
}
catch
{
Console.WriteLine("본 파일은 사진파일이 아닙니다.("+ path + ")");
}
}
}
}
}
● 프로그램 사진
728x90
반응형
'CODING > C#' 카테고리의 다른 글
[C#] 숫자야구 콘솔 Version (0) | 2020.12.31 |
---|---|
[C#]가계부 프로그램(version 1.0) (8) | 2020.04.07 |
로또 시뮬레이션 in C# (1) | 2019.06.10 |
듀공 화면 잠금기(스크린 세이버/Screen Saver) in C# (0) | 2019.02.03 |