Exemple #1
0
 private String GetOriginalDisplayPath(RenExFileNameDescriptor f)
 {
     String s = f.FileName;
     if (tsmiShowExtInPrev.Checked) s += f.Extensions;
     if (tsmiFillPathInPrev.Checked) s = f.ToString();
     return s;
 }
Exemple #2
0
 private String GetTransformedDisplayPath(RenExFileNameDescriptor f)
 {
     String s = f.TransformedFileName;
     if (tsmiShowExtInPrev.Checked) s += f.TransformedExtensions;
     if (tsmiFillPathInPrev.Checked) s = f.TransformedFilePath;
     return s;
 }
        /// <summary>
        ///     Transforms single file name descriptor according to the set of rules.
        /// </summary>
        /// <param name="fd">Original file name descriptor.</param>
        /// <param name=""></param>
        /// <returns></returns>
        public void TransformSingle(RenExFileNameDescriptor fd)
        {
            try
            {
                fd.ClearTransformations();

                // Run name rules
                foreach (RenamingRule rule in NameRules.Where(r => r.Active))
                {
                    Match match = Regex.Match(fd.FileName, rule.RegularExpression, RegexOptions.IgnoreCase);
                    if (!match.Success) continue;

                    if (rule.DeleteFile)
                        fd.MarkForDelete = true;
                    else
                        fd.TransformedFileName = match.Result(rule.ReplacementExpression);

                    break;
                }

                // Run Extension Rules
                foreach (RenamingRule rule in ExtensionRules.Where(r => r.Active))
                {
                    Match match = Regex.Match(fd.Extensions, rule.RegularExpression, RegexOptions.IgnoreCase);
                    if (!match.Success) continue;

                    if (rule.DeleteFile)
                        fd.MarkForDelete = true;
                    else
                        fd.TransformedExtensions = match.Result(rule.ReplacementExpression);

                    break;
                }

                // Run Directory Rules
                foreach (RenamingRule rule in DirectoryRules.Where(r => r.Active))
                {
                    Match match = Regex.Match(fd.Directory, rule.RegularExpression, RegexOptions.IgnoreCase);
                    if (!match.Success) continue;

                    if (rule.DeleteFile)
                        fd.MarkForDelete = true;
                    else
                        fd.TransformedDirectory = match.Result(rule.ReplacementExpression);

                    break;
                }

                fd.State = RenExFileNameDescriptor.RenameState.Preview;
            }
            catch (Exception x)
            {
                fd.State = RenExFileNameDescriptor.RenameState.Preview | RenExFileNameDescriptor.RenameState.Error;
                fd.ErrorObject = x;
            }
        }