protected override void ExecuteMatch( FileMatch fileMatch, string directoryPath) { try { if (!DryRun) { FileSystemHelpers.Delete( fileMatch, contentOnly: DeleteOptions.ContentOnly, includingBom: DeleteOptions.IncludingBom, filesOnly: DeleteOptions.FilesOnly, directoriesOnly: DeleteOptions.DirectoriesOnly); } Report(fileMatch); Telemetry.IncrementProcessedCount(fileMatch.IsDirectory); } catch (Exception ex) when(ex is IOException || ex is UnauthorizedAccessException) { Report(fileMatch, ex); } }
protected override void ExecuteResult( FileSystemFinderResult result, SearchContext context, string baseDirectoryPath = null, ColumnWidths columnWidths = null) { string indent = GetPathIndent(baseDirectoryPath); if (!Options.OmitPath) { WritePath(context, result, baseDirectoryPath, indent, columnWidths); } bool deleted = false; if (!Options.Ask || AskToExecute(context, (Options.ContentOnly) ? "Delete content?" : "Delete?", indent)) { try { if (!Options.DryRun) { FileSystemHelpers.Delete( result, contentOnly: Options.ContentOnly, includingBom: Options.IncludingBom, filesOnly: Options.FilesOnly, directoriesOnly: Options.DirectoriesOnly); deleted = true; } if (result.IsDirectory) { context.Telemetry.ProcessedDirectoryCount++; } else { context.Telemetry.ProcessedFileCount++; } } catch (Exception ex) when(ex is IOException || ex is UnauthorizedAccessException) { WriteFileError(ex, indent: indent); } } if (result.IsDirectory && deleted) { OnDirectoryChanged(new DirectoryChangedEventArgs(result.Path, null)); } }
protected override void ExecuteMatchCore( FileMatch fileMatch, SearchContext context, string?baseDirectoryPath = null, ColumnWidths?columnWidths = null) { string indent = GetPathIndent(baseDirectoryPath); if (!Options.OmitPath) { WritePath(context, fileMatch, baseDirectoryPath, indent, columnWidths, includeNewline: true); } if (Options.AskMode == AskMode.File && !AskToExecute(context, (Options.ContentOnly) ? "Delete content?" : "Delete?", indent)) { return; } try { if (!Options.DryRun) { FileSystemHelpers.Delete( fileMatch, contentOnly: Options.ContentOnly, includingBom: Options.IncludingBom, filesOnly: Options.FilesOnly, directoriesOnly: Options.DirectoriesOnly); } if (fileMatch.IsDirectory) { context.Telemetry.ProcessedDirectoryCount++; } else { context.Telemetry.ProcessedFileCount++; } } catch (Exception ex) when(ex is IOException || ex is UnauthorizedAccessException) { WriteFileError(ex, indent: indent); } }
protected override void ExecuteMatch( FileMatch fileMatch, string directoryPath) { bool deleted = false; try { if (!DryRun) { FileSystemHelpers.Delete( fileMatch, contentOnly: DeleteOptions.ContentOnly, includingBom: DeleteOptions.IncludingBom, filesOnly: DeleteOptions.FilesOnly, directoriesOnly: DeleteOptions.DirectoriesOnly); deleted = true; } Report(fileMatch); Telemetry.IncrementProcessedCount(fileMatch.IsDirectory); } catch (Exception ex) when(ex is IOException || ex is UnauthorizedAccessException) { Report(fileMatch, ex); } if (fileMatch.IsDirectory && deleted) { OnDirectoryChanged(new DirectoryChangedEventArgs(fileMatch.Path, null)); } }