Skip to content

Releases: nikolaygekht/folder.cleaner

0.2

Choose a tag to compare

@nikolaygekht nikolaygekht released this 27 Aug 17:54

Safety

  • A configured folder that is itself a junction or symbolic link is no longer cleaned.
    It is reported and skipped. Previously the sweep followed it and deleted files in the
    link's target — outside the tree you pointed it at.
  • path must now be absolute, and cannot be the root of a drive. Both are refused
    before anything is deleted: a relative path resolves against whatever folder a scheduled
    task happens to start in, and "C:\\" or "/" means a whole volume.

Logging

  • The log now lives beside the configuration file, not beside the program. With no
    --config that is the same folder as before; point --config elsewhere and its log
    follows it, so one installed copy can serve several jobs without mixing their records.
  • The default level is now info. Every run records which configuration it read, the
    rules each folder was cleaned by, what it gave up and the totals. The only way to undo a
    deletion is a backup, so a run should not be able to leave no record that it happened.
  • The four levels now stack, each with one job: err only what stopped something ·
    warn what the run stepped over · info the account of the run · dbg a line per file
    removed, plus call stacks.
  • Failures read on one line, with the reason — Could not delete file X; skipping it. IOException: The process cannot access the file — and are reported once instead of twice.
    Call stacks appear only at dbg.
  • --log-level dbg now prints to the screen, as it always claimed to.

Rehearsals (--dry-run)

  • A rehearsal says "would delete", never "deleted", on every line.
  • A rehearsal writes no log at all — not even the logs folder. It changes nothing, so
    it records nothing, and it now runs even where a real run could not start its log.
  • Add --log-level dbg to have it list the files: FileCleaner --dry-run --log-level dbg.

Upgrading

Nothing about the configuration format changed, but a file that names a relative path or a
drive root will now stop the run instead of cleaning something unintended — the report says
which entry and why, and nothing is deleted. Expect log files where a quiet run previously
left none, and look for them beside filecleaner.json.

0.1 - First Release

Choose a tag to compare

@nikolaygekht nikolaygekht released this 26 Aug 22:07

First release of the app:

  • console version
  • configured via JSON file
  • Windows and Linux
  • portable setup