Entwickler-Ecke

IO, XML und Registry - Ordner datum auslesen


kakashi069 - Fr 10.10.08 14:30
Titel: Ordner datum auslesen
Hi ich bin neu hier und keine ahnung ob der thread hier reinpasst aber ich hoffe dennoch das mir einer behilflich ist. xD


mein ausbilder hat mir die aufgabe gegeben in c# ordner von benutzern, die auf dem server liegen und seit 3 monaten nicht geändert wurde in einen anderen ordner zu verschieben.

ich hab mal klein angefangen und mit dem verschieben angefangen was auch soweit funzt.
hier mal die befehle

C#-Quelltext
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:
79:
80:
81:
82:
private void PfadSuchen_Click(object sender, EventArgs e)
        {
            this.folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.MyComputer;
            this.folderBrowserDialog1.ShowNewFolderButton = false;
            DialogResult result = this.folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                // retrieve the name of the selected folder
                string foldername = this.folderBrowserDialog1.SelectedPath;

                // print the folder name on a label
                this.Quelle.Text = foldername;

            }

        }
        
        private void ZielSuchen_Click(object sender, EventArgs e)
        {
            this.folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.MyComputer;
            this.folderBrowserDialog1.ShowNewFolderButton = false;
            DialogResult result = this.folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                // retrieve the name of the selected folder
                string foldername = this.folderBrowserDialog1.SelectedPath;

                // print the folder name on a label
                this.Ziel.Text = foldername;

            }

        }

        private void Move_Click(object sender, EventArgs e)
        {
            QuelleProbe();
        }

        private void QuelleProbe()
        {
            if (Quelle.Text == "")
            {
                MessageBox.Show("Bitte die Quelle auswählen");
                return;
            }
            else
            {
                ZielProbe();
            }
        }

        private void ZielProbe()
        {
            if (Ziel.Text == "")
            {
                MessageBox.Show("Bitte das Ziel auswählen");
                return;
            }
            else
            {
                Bewegen();
            }
        }

            private void Bewegen()
        {
            
            DirectoryInfo di = new DirectoryInfo(Quelle.Text);
            DirectoryInfo dir = new DirectoryInfo(Ziel.Text);

            if (dir.Exists == true)
            {
                di.MoveTo(Ziel.Text + "\\" + di.Name); // Ordner verschieben
                MessageBox.Show("Ready");
            }
            else
            {
                dir.Create();
                di.MoveTo(Ziel.Text + "\\" + di.Name);
                MessageBox.Show("Ready");
            }


jetzt würde ich gerne das ich die ordner nicht aussuchen muss, sondern alle ordner mal durch checkt guckt ob der letzte änderungsdatum größer als 3 monate ist, wenn ja verschieben, wenn nein stehen lassen.

hoffe ihr könnt mir weiterhelfen

thx schon mal im voraus

mfg kakashi!


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Fr 10.10.2008 um 17:24


lothi - Fr 10.10.08 15:16

Hallo

Leider konnte ich nicht herausfinden wo jetzt genau dein Problem liegt aber DirectoryInfo hat folgende Eigenschaft:

C#-Quelltext
1:
public DateTime LastWriteTime { get; set; }                    


Gruss Lothi


JüTho - Fr 10.10.08 15:50

lothi hat recht: Es hilft, wenn (möglichst konkrete) Fragen gestellt werden.

Ergänzend möchte ich auf Directory.GetDirectories hinweisen, vor allem auf die Überladung mit SearchOption.

Jürgen