Программа которая может менять атрибуты выбранных файлов - C#

Узнай цену своей работы

Формулировка задачи:

Написать программу которая может менять атрибуты выбранных файлов (Изманение, чтение, запись и т.д.) Должны меняться атрибуты файлов - по одному, или сразу несколько. Атрибуты: только для чтения, архивный, скрытый, системный, сжатый, шифрованный, время создания, время доступа, время записи. Вложенные файлы и папки тоже должны обрабатываться, например нажали на папку "только для чтения", значит все вложенные файлы и папки меняют атрибут (по всему вложенному дереву).

Решение задачи: «Программа которая может менять атрибуты выбранных файлов»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Windows.Forms;
  4.  
  5. namespace WindowsFormsApplication3
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         private static string fileName;
  10.         private static FileAttributes atr;
  11.  
  12.         public Form1()
  13.         {
  14.             InitializeComponent();
  15.             dateTimePicker1.CustomFormat = "MM.dd.yyyy  hh:mm:ss";
  16.             dateTimePicker2.CustomFormat = "MM.dd.yyyy  hh:mm:ss";
  17.             dateTimePicker3.CustomFormat = "MM.dd.yyyy  hh:mm:ss";
  18.  
  19.             checkedListBox1.ItemCheck += CheckedListBox1_ItemCheck;
  20.         }
  21.  
  22.         private void CheckedListBox1_ItemCheck( object sender, ItemCheckEventArgs e )
  23.         {
  24.             string atrName = (sender as CheckedListBox).Items[e.Index].ToString();
  25.             FileAttributes tmp = (FileAttributes)Enum.Parse( typeof(FileAttributes), atrName );
  26.  
  27.             if ( e.NewValue == CheckState.Checked ) atr |= tmp;
  28.             else if ( e.NewValue == CheckState.Unchecked ) atr ^= tmp;     
  29.         }
  30.  
  31.         private void button1_Click( object sender, EventArgs e )
  32.         {
  33.             checkedListBox1.Items.Clear();
  34.  
  35.             if ( openFileDialog1.ShowDialog() == DialogResult.OK )
  36.             {
  37.                 fileName = openFileDialog1.FileName;
  38.  
  39.                 textBox1.Text = fileName;
  40.                 atr = File.GetAttributes(fileName);
  41.  
  42.                 dateTimePicker1.Value = File.GetCreationTime( fileName );
  43.                 dateTimePicker2.Value = File.GetLastAccessTime( fileName );
  44.                 dateTimePicker3.Value = File.GetLastWriteTime( fileName );
  45.  
  46.                 Array arr = Enum.GetValues( typeof( FileAttributes ) );
  47.                 foreach( var item in arr )
  48.                     checkedListBox1.Items.Add( item.ToString(), atr.HasFlag( (Enum)Enum.Parse( typeof( FileAttributes ), item.ToString() ) ) );
  49.             }
  50.         }
  51.  
  52.         private void button2_Click( object sender, EventArgs e )
  53.         {
  54.             try
  55.             {
  56.                 File.SetCreationTime( fileName, dateTimePicker1.Value );
  57.                 File.SetLastAccessTime( fileName, dateTimePicker2.Value );
  58.                 File.SetLastWriteTime( fileName, dateTimePicker3.Value );
  59.  
  60.                 File.SetAttributes( fileName, atr );
  61.             }
  62.             catch (Exception ex)
  63.             {
  64.                 MessageBox.Show( ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error );
  65.             }
  66.         }
  67.     }
  68. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы