본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

[ WPF & C# (C Sharp)] - 파일 만든 수정한 액세스 날짜

728x90
반응형

【 WPF & C# (C Sharp) 】 - 파일 만든 수정한 액세스 날짜



File_info.zip





@ MainWindow.xaml


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
<Window x:Class="File_info.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:File_info"
        mc:Ignorable="d"
        Title="MainWindow" Height="258" Width="418">
    <Grid>
        <Button x:Name="btnOpenFile" Content="파일 열기" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
        <TextBlock x:Name="tBlockFileName" HorizontalAlignment="Left" Height="18" Margin="10,35,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="461"/>
        <TextBlock x:Name="tBlock1" HorizontalAlignment="Left" Height="24" Margin="10,53,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="219"/>
        <TextBlock x:Name="tBlock2" HorizontalAlignment="Left" Height="18" Margin="10,106,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="219" RenderTransformOrigin="0.485,0.889"/>
        <TextBlock x:Name="tBlock3" HorizontalAlignment="Left" Height="18" Margin="10,159,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="219"/>
        <DatePicker x:Name="DatePicker1" HorizontalAlignment="Left" Margin="10,77,0,0" VerticalAlignment="Top"/>
        <DatePicker x:Name="DatePicker2" HorizontalAlignment="Left" Margin="10,130,0,0" VerticalAlignment="Top"/>
        <DatePicker x:Name="DatePicker3" HorizontalAlignment="Left" Margin="10,183,0,0" VerticalAlignment="Top"/>
        <Button x:Name="btnEditFile" Content="Time 변경" HorizontalAlignment="Left" Margin="289,78,0,0" VerticalAlignment="Top" Width="80" Height="129" Click="btnEditFile_Click"/>
        <ComboBox x:Name="CbBox1" HorizontalAlignment="Left" Margin="101,77,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox11" HorizontalAlignment="Left" Margin="153,77,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox2" HorizontalAlignment="Left" Margin="101,130,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox21" HorizontalAlignment="Left" Margin="153,130,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox3" HorizontalAlignment="Left" Margin="101,183,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox31" HorizontalAlignment="Left" Margin="153,183,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox111" HorizontalAlignment="Left" Margin="205,77,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox211" HorizontalAlignment="Left" Margin="205,129,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
        <ComboBox x:Name="CbBox311" HorizontalAlignment="Left" Margin="205,182,0,0" VerticalAlignment="Top" Width="47" Height="24"/>
    </Grid>
</Window>
 
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
71
72
73
74
75
76
77
78
using Microsoft.Win32;
using System;
using System.IO;
using System.Windows;
 
namespace File_info
{
    /// <summary>
    /// MainWindow.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        string dlgFile = "";
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // 파일 열기
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.FileName = "";    // 기본 파일명
            dlg.DefaultExt = "";   // 기본 확장자
            dlg.Filter = "확장자에 대한 설명|*.*"// 확장자 필터
            Nullable<bool> result = dlg.ShowDialog();
            if (result == true) tBlockFileName.Text = dlg.FileName;
            dlgFile = dlg.FileName;
 
            tBlock1.Text = "만든 날짜 : " + File.GetCreationTime(dlg.FileName).ToString();
            tBlock2.Text = "수정한 날짜 : " + File.GetLastWriteTime(dlg.FileName).ToString();
            tBlock3.Text = "실행 날짜 : " + File.GetLastAccessTime(dlg.FileName).ToString();
 
            // 만든 날짜 ComboBox 에 시/분/초 입력
            for (int i = 0; i <= 23; i++) CbBox1.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox11.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox111.Items.Add(i);
 
            // 수정 날짜 ComboBox 에 시/분/초 입력
            for (int i = 0; i <= 23; i++) CbBox2.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox21.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox211.Items.Add(i);
 
            // 액세스 날짜 ComboBox 에 시/분/초 입력
            for (int i = 0; i <= 23; i++) CbBox3.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox31.Items.Add(i);
            for (int i = 0; i <= 59; i++) CbBox311.Items.Add(i);
        }
 
        private void btnEditFile_Click(object sender, RoutedEventArgs e)
        {
            // 만든 날짜 변경
            DateTime CreationTime =
                DateTime.Parse(DatePicker1.SelectedDate.Value.ToLongDateString() +
                CbBox1.Text + ":" +
                CbBox11.Text + ":" +
                CbBox111.Text);
            File.SetCreationTime(dlgFile, CreationTime);
 
            // 수정 날짜 변경
            DateTime LastWriteTime =
                DateTime.Parse(DatePicker2.SelectedDate.Value.ToLongDateString() +
                CbBox2.Text + ":" +
                CbBox21.Text + ":" +
                CbBox211.Text);
            File.SetLastWriteTime(dlgFile, LastWriteTime);
 
            // 액세스 날짜 변경
            DateTime LastAccessTime =
                DateTime.Parse(DatePicker3.SelectedDate.Value.ToLongDateString() +
                CbBox3.Text + ":" +
                CbBox31.Text + ":" +
                CbBox311.Text);
            File.SetLastAccessTime(dlgFile, LastAccessTime);
        }
    }
}
 
cs



 @ File Time

파일에 대한 날짜관련 정보이다.

get도 가능하지만 set 도 바로 가능하다.

파일 정보에 대한 수정이 쉽다는게 오히려 아쉬운 점도 있다.

여튼 set의 경우 datetime 을 쓰는거 같다.

초보라 참.... 뭘해도 시간이 많이 걸린다. ㅠㅠ

시간이 없어 일단 패스~ 담에 해봐서 올릴께요~ ^^


에공... 어차피 해야되네

어쩔 수 없이 그냥 다 해서 올립니다.

필요한 날이 있겠죠. ^^;


* 만든날짜 : 파일이 생성된 날짜 ( 파일 복사 시에는 복사된 날짜로 변경 됨 )

* 수정한 날짜 : 파일 내부가 수정된 날자 ( 파일 복사 시에도 날짜가 변경되지 않음 )

* 액세스 날짜 : 파일을 열어본 시간 ( 파일 복사 시 복사된 날짜로 변경 됨 )





http://insurang.tistory.com


728x90
반응형