176 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Data;
 | |
| using System.Drawing;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using System.Threading.Tasks;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace FCOMMON
 | |
| {
 | |
|     public partial class fFileExplorer : Form
 | |
|     {
 | |
|         string p = string.Empty;
 | |
|         public fFileExplorer(string path_)
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             this.p = path_;
 | |
|             this.StartPosition = FormStartPosition.CenterScreen;
 | |
|         }
 | |
| 
 | |
|         private void fFileExplorer_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             this.Show();
 | |
|             Application.DoEvents();
 | |
|             RefreshPath();
 | |
| 
 | |
|         }
 | |
|         void RefreshPath()
 | |
|         {
 | |
|             if (System.IO.Directory.Exists(this.p) == false)
 | |
|             {
 | |
|                 Util.MsgE("지정된 폴더가 존재하지 않습니다");
 | |
|                 return;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 this.listView1.Items.Clear();
 | |
|                 var di = new System.IO.DirectoryInfo(this.p);
 | |
|                 foreach (var item in di.GetFiles())
 | |
|                 {
 | |
|                     var lv = this.listView1.Items.Add(item.Name);
 | |
|                     lv.SubItems.Add(item.Extension);
 | |
|                     lv.SubItems.Add(item.Length.ToString());
 | |
|                     lv.SubItems.Add(item.LastWriteTime.ToString("yy-MM-dd HH:mm:ss"));
 | |
|                     lv.Tag = item;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void 새로고침ToolStripMenuItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //추가
 | |
|             var od = new OpenFileDialog();
 | |
|             if (od.ShowDialog() != DialogResult.OK) return;
 | |
| 
 | |
|             var fi = new System.IO.FileInfo(od.FileName);
 | |
|             var newpath = System.IO.Path.Combine(this.p, fi.Name);
 | |
|             if (System.IO.File.Exists(newpath))
 | |
|             {
 | |
|                 if (FCOMMON.Util.MsgQ("이미 존재하는 파일명입니다. 덮어쓸까요?") != DialogResult.Yes) return;
 | |
|             }
 | |
|             try
 | |
|             {
 | |
|                 System.IO.File.Copy(od.FileName, newpath, true);
 | |
|                 FCOMMON.Util.MsgI("파일 저장 완료\r\n파일명:" + fi.Name);
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE(ex.Message);
 | |
|             }
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton2_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //다운로드
 | |
|             if (this.listView1.FocusedItem == null) return;
 | |
|             var lv = this.listView1.FocusedItem;
 | |
|             var oldfile = lv.Tag as System.IO.FileInfo;//.ToString();
 | |
| 
 | |
|             var sd = new SaveFileDialog();
 | |
|             sd.Filter = oldfile.Extension + "|" + oldfile.Extension.Replace(".", "*.");
 | |
|             sd.FilterIndex = 0;
 | |
|             sd.FileName = oldfile.Name;
 | |
| 
 | |
|             if (sd.ShowDialog() != DialogResult.OK) return;
 | |
|             //var newpath = System.IO.Path.Combine(this.p, sd.FileName);
 | |
|             if (System.IO.File.Exists(sd.FileName))
 | |
|             {
 | |
|                 if (FCOMMON.Util.MsgQ("이미 존재하는 파일명입니다. 덮어쓸까요?") != DialogResult.Yes) return;
 | |
|             }
 | |
|             try
 | |
|             {
 | |
|                 System.IO.File.Copy(oldfile.FullName, sd.FileName, true);
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE(ex.Message);
 | |
|             }
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton3_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //삭제
 | |
|             if (this.listView1.FocusedItem == null) return;
 | |
|             var lv = this.listView1.FocusedItem;
 | |
|             var newpath = lv.Tag as System.IO.FileInfo;//.ToString();
 | |
| 
 | |
|             //var newpath = System.IO.Path.Combine(this.p, od.FileName);
 | |
|             if (System.IO.File.Exists(newpath.FullName) == false)
 | |
|             {
 | |
|                 Util.MsgE("해당 파일이 존재하지 않습니다");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             if (FCOMMON.Util.MsgQ("파일을 삭제할까요?") != DialogResult.Yes) return;
 | |
|             try
 | |
|             {
 | |
|                 System.IO.File.Delete(newpath.FullName);
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE(ex.Message);
 | |
|             }
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton4_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void listView1_DragEnter(object sender, DragEventArgs e)
 | |
|         {
 | |
|             e.Effect = DragDropEffects.All;
 | |
|         }
 | |
| 
 | |
|         private void fFileExplorer_DragDrop(object sender, DragEventArgs e)
 | |
|         {
 | |
|             var files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
 | |
|             foreach (var item in files)
 | |
|             {
 | |
|                 var fi = new System.IO.FileInfo(item);
 | |
|                 var newpath = System.IO.Path.Combine(this.p, fi.Name);
 | |
|                 if (System.IO.File.Exists(newpath))
 | |
|                 {
 | |
|                     if (FCOMMON.Util.MsgQ("이미 존재하는 파일명입니다.\r\n" + fi.Name + "\r\n덮어쓸까요?") != DialogResult.Yes) return;
 | |
|                 }
 | |
|                 try
 | |
|                 {
 | |
|                     System.IO.File.Copy(item, newpath, true);
 | |
|                     FCOMMON.Util.MsgI("파일 저장 완료\r\n파일명:" + fi.Name);
 | |
|                 }
 | |
|                 catch (Exception ex)
 | |
|                 {
 | |
|                     FCOMMON.Util.MsgE(ex.Message);
 | |
|                 }
 | |
|             }
 | |
|             RefreshPath();
 | |
|         }
 | |
| 
 | |
|         private void listView1_DragLeave(object sender, EventArgs e)
 | |
|         {
 | |
|             //this.listView1.DoDragDrop();
 | |
|         }
 | |
|     }
 | |
| }
 | 
