Пример #1
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("*** START FILE BACKUP ***");

            Assembly ass  = Assembly.GetExecutingAssembly();
            string   path = System.IO.Path.GetDirectoryName(ass.Location);

            string excludeFile     = path + @"\exclude.txt";
            string extensionsFile  = path + @"\extensions.txt";
            var    sourceNode      = ConfigurationManager.AppSettings["SourceNode"];
            var    destinationNode = ConfigurationManager.AppSettings["DestinationNode"];
            var    useMetadata     = ConfigurationManager.AppSettings["UseMetadata"] == "true" ? true : false;
            var    logFile         = destinationNode + @"\log.txt";
            var    errorLogFile    = destinationNode + @"\error.txt";

            var excludeList = new List <string>();

            if (File.Exists(excludeFile))
            {
                var fileLines = File.ReadAllLines(excludeFile);
                excludeList = new List <string>(fileLines);
            }

            var extensionsList = new List <string>();

            if (File.Exists(extensionsFile))
            {
                var fileLines = File.ReadAllLines(extensionsFile);
                extensionsList = new List <string>(fileLines);
            }

            OrganizationFormat organizationFormat = (OrganizationFormat)Enum.Parse(typeof(OrganizationFormat), ConfigurationManager.AppSettings["OrganizationFormat"]);

            DirectoryInfo di = new DirectoryInfo(sourceNode);

            FileSystemScan.FullDirList(di, "*", excludeList);

            System.Console.WriteLine("Total File Count: {0}", FileSystemScan.files.Count);
            System.Console.WriteLine("Directory Count: {0}", FileSystemScan.DirectoryCount);
            System.Console.WriteLine("Folder Count: {0}", FileSystemScan.folders.Count);
            System.Console.WriteLine("Inaccessible Folder Count: {0}", FileSystemScan.inaccessfolders.Count);

            var fileList = FileSystemScan.files.Where(s => extensionsList.Contains(s.Extension.ToLower())).ToList();

            System.Console.WriteLine("Copy File Count: {0}", fileList.Count);

            foreach (var file in fileList)
            {
                var destinationPath = CreateDestinationPath(file, destinationNode, useMetadata, organizationFormat);

                CopyFileExactly(file.FullName, destinationPath, errorLogFile);
                //System.Console.WriteLine("File {0} {1} {2}", info.Name, info.CreationTime, fullDestPath);
            }
            System.Console.WriteLine("*** END FILE BACKUP ***");
            System.Console.Read();
        }
Пример #2
0
        private void btn_TSM_HotFileAudit_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                FileSystemScan.AuditValid(new ModuleBox(_mBox)
                {
                    CodeId = CodeId.Nothing, StringBody = ofd.FileName
                });
            }
        }