コード例 #1
0
        private void listModifiedFiles(string origPath, string dest, DateTime from, DateTime to)
        {
            DirectoryInfo dir  = new DirectoryInfo(origPath);
            string        temp = dest.EndsWith("\\") ? dest : dest + "\\";

            try
            {
                foreach (DirectoryInfo subDir in dir.GetDirectories())
                {
                    listModifiedFiles(subDir.FullName, temp + subDir.Name, from, to);
                }

                foreach (FileInfo file in dir.GetFiles())
                {
                    bool moveFile    = false;
                    bool excludeFile = false;
                    foreach (string item in Excludes.Split(';'))
                    {
                        if (file.FullName.ToLower().Contains(item.ToLower()))
                        {
                            excludeFile = true;
                            break;
                        }
                    }
                    if (!excludeFile)
                    {
                        foreach (string item in Filters.Split(';'))
                        {
                            if (file.Name.ToLower().EndsWith(item.ToLower()))
                            {
                                moveFile = true;
                                break;
                            }
                        }
                    }

                    if (
                        (moveFile) &&
                        (file.LastWriteTime.CompareTo(from) >= 0) &&
                        (file.LastWriteTime.CompareTo(to) <= 0)
                        )
                    {
                        if (ScanReadOnly ||
                            (file.Attributes & FileAttributes.ReadOnly) != FileAttributes.ReadOnly)
                        {
                            FilesModified.Add(file.FullName);
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
コード例 #2
0
        /// <summary>添加排除项</summary>
        /// <param name="value"></param>
        public void AddExclude(String value)
        {
            if (value.IsNullOrEmpty())
            {
                return;
            }

            var es = new List <String>();
            var ss = Excludes?.Split(",");

            if (ss != null)
            {
                es.AddRange(ss);
            }

            if (!es.Contains(value))
            {
                es.Add(value);

                Excludes = es.Distinct().Join();
            }
        }