Skip to content

Releases: jhotmann/node-rename-cli

7.0 Beta 3

24 Nov 19:15
46c8972
Compare
Choose a tag to compare
7.0 Beta 3 Pre-release
Pre-release

This is almost a complete rewrite, but will make future features a million times easier to implement.

  • Refactored code into several classes: Batch, Operation, FileData, History, Favorites
  • Updated UI and wizard to utilize new classes
  • A SQLite database is now used to store batches, operations, and favorites
  • History API allows for undoing any batch (instead of just the last one), undoing single operations, re-running batches, and copying previous commands
  • Favorites API allows for storing and re-running commands via UI, id, or alias
  • Switched to Jest for tests, and made test structure better
  • Fixed #27

7.0 Beta 2

11 May 18:01
Compare
Choose a tag to compare
7.0 Beta 2 Pre-release
Pre-release
  • Fixed some issues found during testing
  • Automated Chocolatey package as part of the build
  • Ability to use arrow keys and edit the command in the live-preview UI #9
  • Added ability to sort input files (before they would always be sorted alphabetically) #23
  • Proceed after a single character when prompted for conflicts, etc. #14

7.0 Beta 1

07 May 22:51
Compare
Choose a tag to compare
7.0 Beta 1 Pre-release
Pre-release

A lot of big changes went into this release, so a beta seemed like a good idea. There are also a lot of changes that aren't backwards compatible so some people may opt to stay with v6 if they are using rename in scripts or anything.

The biggest change is that instead of our own variable parser and replacement engine, we have switched to the html-templating engine, Nunjucks, because it offers some insanely powerful features. Read the 7.0.0 branch and Nunjucks documentation for more info, but the biggest advantage is that you can write filters to modify variable values and chain multiple filters together to accomplish things you could never dream of before.

Another change is how file indexing is handled. Before a variable had a property to tell the tool whether the value was possibly unique. That's scrapped and now any time there are conflicting new file names they'll automatically have an index appended.

Read the docs for more info.

6.2.1

30 Apr 22:26
Compare
Choose a tag to compare

Fix crash when a directory name is all numbers

6.2.0

30 Apr 22:15
Compare
Choose a tag to compare
  • Updated the wizard to be in sync with the current options and abilities #16
  • Display relative pathnames if files in the current or a subdirectory, otherwise the full path #13
  • Added ability to move files to different, possibly dynamic, directories #17
    • -f or --createdirs options will automatically create any missing directories
    • otherwise you'll be prompted to create any missing directories or skip
    • --nomove option will prevent moving files (old functionality)
  • Fix file globbing to include directories for CLIs that don't natively glob (Windows cmd)

6.1.0

29 Apr 16:24
Compare
Choose a tag to compare
  • Updated some dependencies
  • Separate verbose and prompt options #12
  • Option to ignore directories -d #11
  • Use birthtime instead of ctime for file creation date #10
  • Don't blow up if EXIF data is missing #15

6.0.0

04 Feb 21:10
Compare
Choose a tag to compare

This is a big update. The main thing I wanted to accomplish was a better system for regular expressions. I added a new replacement variable regex that allows you to specify a regular expression as argument 1, the regular expression flags (i.e. g for global, i for case-insensitive) as argument 2, and the joiner or a number for a specific match as argument 3. This allows you to more easily fine tune your regular expression(s) and the output file name structure. In addition I consolidated the dates and exif variables so that there are less variables needed while still retaining all the same functionality. The old variables still exist in case you are using them in a script but will probably be removed in the future (a warning will show for any depreciated variables).

All changes:

  • Variables can now be nested (only really useful for the replace variable currently).
  • Added replace option for f variable so you can easily replace parts of the original file name with something else.
  • Added replace option for p variable so you can replace part(s) of the parent directory name with something else.
  • Added replace variable that takes an input string and replaces a string with something else. You can use this to do multiple conversions on the original file name like {{replace|{{f|upper}}| |-}} or to replace a character from a regex` variable output in order to keep your regular expression more simple.
  • Consolidated d, cd, md, and ad variables into a single date variable.
  • Consolidated eiso, efnum, eex, ed, eh, and ew variables into a single exif variable.

5.1.2

27 Jun 17:20
Compare
Choose a tag to compare

Fixes Error: Cannot find module 'jpeg-exif'

If still having issues after the update, do an uninstall and reinstall to clean out the node_modules folder.

5.1.1

18 May 17:12
Compare
Choose a tag to compare

Suppress "The fs.promises API is experimental" warning that occurs on Node 10.

5.1.0

12 Apr 15:53
Compare
Choose a tag to compare
  • Some codebase restructuring
  • Fixed bug where an index would get appended to files with extensions that only have one file being renamed (if not using a unique pattern)
  • If a file to be renamed doesn't exist print a warning and continue instead of throwing an error.
  • Allow multiple RegEx options to be specified
    • If multiple specified, the matches from the first RegEx option will come before the second and so forth
    • Can be used to filter out parts of the file name in specific order (See example 5 in the Readme)
  • {{r}} variable added parameter so you can select a specific RegEx match instead of just the first
  • Added EXIF pixel width and height variables