1º Crie um projeto do tipo Windows Forms Applications.
2º Adicione uma classe com o nome FileWatcher.
3º Crie uma variável do tipo string, privada com o nome pasta.
private string pasta = @"d:\teste";
4º Crie o construtor da classe conforme abaixo.
public FileWatcher()
{
FileSystemWatcher WatchFile = new FileSystemWatcher(pasta, "*.txt");
WatchFile.Created += new FileSystemEventHandler(this.FileCreated);
WatchFile.EnableRaisingEvents = true;
}
5º Agora vamos criar o método Created, faça conforme abaixo. Esse método irá copiar o arquivo de D:\Teste para D:\Teste2 e xcluí-lo da origem
public void FileCreated(object sender, FileSystemEventArgs e)
{
Console.WriteLine(e.Name);
FileInfo fileInfo = new FileInfo(e.Name);
string pastaOrigem = @"D:\Teste";
string pastaDestino = @"D:\Teste2";
string arquivoOrigem = Path.Combine(pastaOrigem, fileInfo.Name);
string arquivoDestino = Path.Combine(pastaDestino, fileInfo.Name);
if (File.Exists(arquivoDestino))
File.Delete(arquivoDestino);
File.Copy(arquivoOrigem, arquivoDestino);
Log(arquivoOrigem, arquivoDestino);
}
private void Log(string preCondicao, string posCondicao)
{
string arquivoLog = Path.Combine(pasta, string.Format("{0}log.txt", string.Format("{0:yyyyMMdd}", DateTime.Now)));
StreamWriter arquivoEscrita = new StreamWriter(arquivoLog, true);
arquivoEscrita.WriteLine(string.Format("{0}|{1}|{2}", preCondicao, posCondicao, DateTime.Now));
arquivoEscrita.Close();
arquivoEscrita.Dispose();
}
7º Instancie um novo FileWacther no Load do formulário.
8º Vamos testar agora, crie uma pasta chamada Teste e uma pasta Teste2, execute a aplicação e crie um arquivo texto (txt) em Teste, veja que o arquivo sumiu! E um novo arquivo chamado AAAAMMDDlog.txt foi criado, esse arquivo contém as informações do nome do arquivo de origem, nome do arquivo destino e data/hora em que ele foi movido. Se você verificar em Teste2 o arquivo estará lá.
OBS: Atenção aos caminhos das pastas, caso não tenha um diretóro D:, coloque no lugar que lhe parecer melhor.
Até a próxima.
Nenhum comentário:
Postar um comentário