using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.IO; using System.Timers; using System.Security.Principal; namespace filemovet { public partial class Service1 : ServiceBase { public Timer t = null; public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { t = new Timer(); this.t.Enabled = true; this.t.Elapsed += new ElapsedEventHandler(t_tick); this.t.Interval = 10000; } protected override void OnStop() { this.t.Enabled = false; } public void t_tick(object sender, EventArgs e) { try { String dest_path = "D:\\output1"; DirectoryInfo dirInfo = new DirectoryInfo(dest_path); if (dirInfo.Exists == false) Directory.CreateDirectory(dest_path); List<string> allFiles = Directory.GetFiles("C:\\input\\", "*.*", SearchOption.AllDirectories).ToList(); foreach (string file in allFiles) { FileInfo mFile = new FileInfo(file); if (File.Exists(dirInfo + "\\" + mFile.Name)) { File.Delete(dirInfo + "\\" + mFile.Name); } // mFile.CopyTo(dirInfo + "\\" + mFile.Name); mFile.MoveTo(dirInfo + "\\" + mFile.Name); } } catch (Exception ex) { } } } }
if (File.Exists(dirInfo + "\\" + mFile.Name)) { File.Delete(dirInfo + "\\" + mFile.Name); }
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); WindowsIdentity identity = new WindowsIdentity(username, password); WindowsImpersonationContext context = identity.Impersonate(); try { File.Copy(FilePathToBeCopiedFrom, FilePathToBeCopiedAt, true); } catch { context.Undo(); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)