FolderManagement.FileStorageService.QueryFiles C# (CSharp) Method

QueryFiles() public method

public QueryFiles ( string root, string regex ) : IEnumerable
root string
regex string
return IEnumerable
        public IEnumerable<string> QueryFiles(string root, string regex)
        {
            var result = new List<string>();

            var targetDirectory = new DirectoryInfo(root);

            var find = new Regex(regex, RegexOptions.IgnoreCase);

            IEnumerable<FileInfo> files = targetDirectory.GetFiles();

            foreach (var file in files)
            {
                var matchResult = find.Match(file.Name);

                if (matchResult.Success)
                {
                    result.Add(file.Name);
                }
            }

            return result;
        }

Usage Example

Example #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            VisualStateManager.GoToElementState(stage, "preview", true);

            PreviewItems.Clear();

            var service = new FileStorageService();

            if(UserInteraction.SelectFile)
            {
                var files = service.QueryFiles(UserInteraction.RootDirectory, UserInteraction.Regex);

                foreach (var file in files)
                {
                    var fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(file);

                    var reanmeTo = service.ReanmePreview(fileNameWithoutExtension, UserInteraction.Regex, UserInteraction.TargetExpression);

                    PreviewItems.Add(new PreviewItemVM { Name = fileNameWithoutExtension, Action = "重命名[文件]", Result = reanmeTo });
                }
            }

            if(UserInteraction.SelectFolder)
            {
                var folders = service.QueryFolders(UserInteraction.RootDirectory, UserInteraction.Regex);

                foreach(var folder in folders)
                {
                    var reanmeTo = service.ReanmePreview(folder, UserInteraction.Regex, UserInteraction.TargetExpression);

                    PreviewItems.Add(new PreviewItemVM { Name = folder, Action = "重命名[文件夹]", Result = reanmeTo });
                }
            }
        }
All Usage Examples Of FolderManagement.FileStorageService::QueryFiles