Hi :)

I'm starting with D language... and, I try to convert a C# code to D... So, my C# code, I get file informations, and, I create folders with all days of month of specific year...

So, that is my C# code...

using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;

namespace Organizador
{
    class Organiza
    {
        private string[] MesesDoAno =
        {
          "Janeiro", "Fevereiro",
          "Marco", "Abril",
          "Maio", "Junho",
          "Julho", "Agosto",
          "Setembro", "Outubro",
          "Novembro", "Dezembro"
        };

        private string DirReceb = string.Empty;

        public Organiza()
        {
            CriaDiretorios();
            MoveArquivos();
        }

        private void CriaDiretorios()
        {
DirReceb = "RECEBIDOS\\" + DateTime.Now.Year.ToString() + "\\";
            // Cria o diretorio "root"
            if (!Directory.Exists(DirReceb))
                Directory.CreateDirectory(DirReceb);

            // cria os diretorios dos meses do ano
            for (int i = 0; i < 12; i++)
                if (!Directory.Exists(DirReceb + MesesDoAno))
Directory.CreateDirectory(DirReceb + MesesDoAno[i]);

            // cria os diretorios com os dias dos meses e ano
            for (int i = 1; i <= 12; i++)
            {
                string dia;
                string mes;
                var ano = DateTime.Now.Year;
var DiasDoMes = DateTime.DaysInMonth(DateTime.Now.Year, i);

                if (i < 10)
                    mes = "0" + i.ToString();
                else
                    mes = i.ToString();

                for (int j = 1; j <= DiasDoMes; j++)
                {
                    if (j < 10)
                        dia = "0" + j.ToString();
                    else
                        dia = j.ToString();

string StrDia = string.Format("{0}-{1}-{2}", dia, mes, ano); string StrData = DirReceb + MesesDoAno[i-1] + "\\" + StrDia;

                    if (!Directory.Exists(StrData))
                        Directory.CreateDirectory(StrData);
                }
            }
        }

        private void MoveArquivos()
        {
            string[] filters = new[] { "*.REM", "*.RET" };

            for (int i = 0; i < 2; i++)
            {
DirectoryInfo di = new DirectoryInfo(Directory.GetCurrentDirectory());
                var files = di.GetFiles(filters[i]);

                foreach (var fi in files)
                {
                    var mes = fi.CreationTime.Month;
var strdt = fi.CreationTime.ToString("dd-MM-yyyy");

string DestDir = DirReceb + MesesDoAno[mes - 1] + "\\" + strdt + "\\" + fi.Name;

                    File.Move(fi.Name, DestDir);
                }
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                new Organiza();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}


So, to create directory and move files... I get the documentation on that page: http://dlang.org/phobos/std_file.html

But, I don't know, How I can get the file information and what is the best way to create the directory's, so, I need some help :)

I appreciate the help :)

Reply via email to