Skip to content

A C#.NET WinForms GUI and CLI console tool to correct Windows NTFS file system timestamp attributes from embedded metadata or naming convention

License

Notifications You must be signed in to change notification settings

gyk4j/wreck-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.github/workflows/dotnet-desktop.yml

A simplified C#.NET implementation of WRECK.

Not a direct port, but a rewrite of WRECK, a Java tool for restoring file timestamps using embedded metadata, and heuristic rules based on file naming convention, personal habits and other methods of estimating a more accurate timestamp.

It is an essential tool when doing file backup and preservation to ensure that file creation, modification and access timestamps are as accurate as possible.

Differences include:

  1. Windows Form GUI, not Java Swing
  2. Exclusion of Java-based Apache Tika library for metadata extraction to reduce bloat
  3. A complete redesign based on .NET Framework API and Windows Forms
  4. Charting of the statistics (given that the UI is not the same)
  5. No statistics tracking and reporting
  6. Missing file attributes backup, restoration and verification function.

WRECK.NET GUI WRECK>NET CLI

For more information, see the Wiki.

Introduction

WRECK.NET is a C#.NET desktop utility tool to restore the file system timestamp attributes of files using the recorded metadata if possible and rules / heuristics as a backup method on a best-effort basis. (See Caveats for more details on the assumptions made).

The name WRECK is an acronym for Walk, Retrieve, Extract, Correct and Keep.

  • Walk a given starting path or a single file
  • Retrieve each file or directory encountered
  • Extract metadata from it
  • Correct the file system timestamps (creation, last modified, last accessed) using embedded metadata. In the absence of any useful metadata, it fallbacks to using rules, heuristics and guesswork for estimating an approximate appropriate timestamp on a best-effort basis (Refer to Caveats).
  • Keep the files for archival and preservation

It essentially processes files and directories recursively, extracting embedded metadata from common file formats (e.g. Microsoft Office documents, JPEG photos, MP4 videos, MP3 audio) using a few libraries to maximize success in metadata extraction, work out the appropriate timestamps, correct them in the file system, and finally leaving the files ready for archival and preservation.

Future plan and direction

In fact, I have been working on the .NET version and finding it more efficient and lightweight than the Java version. In all likelihood, I will continue to focus more on the .NET version going into the future.

The original Java WRECK may become stagnant with no updates or new features.