728x90
반응형
WPF & C# - File Open Copy Move Rename ( 파일 열기 / 복사하기/ 이동하기 / 이름변경하기 ) |
MainWindow.xaml.cs
1 2 3 4 5 6 7 8 9 10 11 12 | <StackPanel> <Button x:Name="btnOpen" Content="Open" Height="28" Click="btnOpen_Click"/> <TextBox x:Name="tbx" Height="28" TextWrapping="Wrap" /> <Button x:Name="btnCopy" Content="Copy" Height="28" Click="btnCopy_Click"/> <Button x:Name="btnMove" Content="Move & rename" Height="28" Click="btnMove_Click"/> <Button x:Name="btnDelete" Content="Delete" Height="28" Click="btnDelete_Click"/> </StackPanel> <!--PopUp--> <Grid x:Name="grdPopUp" Visibility="Collapsed" Background="#4C000000"> <TextBox x:Name="tbxPopUp" Width="200" Height="28"></TextBox> </Grid> | cs |
MainWindow.xaml.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | using Microsoft.Win32; using System.IO; using System.Windows; string file = ""; // 파일 Path // 파일열기 private void btnOpen_Click(object sender, RoutedEventArgs e) { // 파일 열기 OpenFileDialog ofdlg = new OpenFileDialog(); { ofdlg.Filter = // 필터설정 "txt File | *.txt"; ofdlg.CheckFileExists = true; // 파일 존재여부확인 ofdlg.CheckPathExists = true; // 폴더 존재여부확인 // 파일 열기 (값의 유무 확인) if (ofdlg.ShowDialog().GetValueOrDefault()) { file = ofdlg.FileName; tbx.Text = file; } } } // 파일 복사 하기 private void btnCopy_Click(object sender, RoutedEventArgs e) { // 파일명 + 확장자 분리 string file_name = System.IO.Path.GetFileNameWithoutExtension(file); // 파일명 추출 "Survive You" string strExtension = System.IO.Path.GetExtension(file); // 확장자 추출 (".txt") // 파일 존재 유무 체크 FileInfo fiVal = new FileInfo(file_name + " - 복사본" + strExtension); int i = 1; while (fiVal.Exists) { fiVal = new FileInfo(file_name + " - 복사본 (" + i++ + ")" + strExtension); } // 파일 복사 FileInfo fi = new FileInfo(file); fi.CopyTo(fiVal.Name); } // 파일 이동 & 이름 변경하기 private void btnMove_Click(object sender, RoutedEventArgs e) { grdPopUp.Visibility = Visibility.Visible; tbxPopUp.Text = tbx.Text; grdPopUp.MouseDown += (s, d) => { grdPopUp.Visibility = Visibility.Collapsed; FileInfo fi = new FileInfo(tbx.Text); fi.MoveTo(tbxPopUp.Text); tbx.Text = tbxPopUp.Text; }; } // 파일 삭제 하기 private void btnDelete_Click(object sender, RoutedEventArgs e) { FileInfo fi = new FileInfo(file); fi.Delete(); } | cs |
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# - 핑 테스트 Ping Test ( PingOptions Class ) (1) | 2019.01.06 |
---|---|
WPF & C# - FileSystemWatcher 파일시스템감시 ( 실시간 폴더 및 파일 변경사항 체크 ) (3) | 2019.01.03 |
WPF & C# - NPKI 공인인증서 폴더 위치 열기 ( Folder Open Path ) (0) | 2018.12.27 |
WPF & C# - 웹페이지에서 JSONString 값 가져오기 ( JSON / PHP / WEB / JSON_UNESCAPED_UNICODE / Newtonsoft.Json ) (0) | 2018.11.27 |
WPF & C# - 마우스 커서 변경 ( Mouse Cursor / Cursors Change / Cursors.Arrow ) (4) | 2018.10.25 |
WPF & C# - 실행파일명 확인하기 ( Environment.GetCommandLineArgs() ) (0) | 2018.10.14 |
[자작] WPF & C# - DavichSign ( 다비치안경원 / 갤럭시북 / 초성검색 ) (0) | 2018.10.02 |
[자작] WPF & C# - 폴더트리를 StackPanel 로 구성 _ 슬라이드액션 첨가 (0) | 2018.09.14 |