0.9.0 • Published 4 years ago

file-date-organizer v0.9.0

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
4 years ago

File Date Organizer for NodeJS

The following document applies to the command-line usage of file-date-organizer. For usage directly in a Node application, please see the alternate README located here.

Purpose

Locate files by date and move them into a date-based folder structure (ie .../YYYY/MM/dd/hh, etc.). Dates are extracted from the file name (ie Screen Shot 2020-05-28 at 10.16.59 AM.png) or the file properties (created date, modified date, etc.).

More info on why I created this is on my blog: https://fredlackey.com

Installation

npm i -g file-date-organizer

Usage

Exatract then date from the name of the file ...

file-date-organizer \
  --source "/Users/flackey/Documents/Screenshots" \
  --target "/Volumes/MPHD01/Screenshots" \
  --use-name \
  --move \
  --recursive \
  --overwrite

... or, use a file property, such as the creation date ...

file-date-organizer \
  --source "/Users/flackey/Documents/Screenshots" \
  --target "/Volumes/MPHD01/Screenshots" \
  --use-created \
  --move \
  --recursive \
  --overwrite

When I process images from my camera, I use both the --use-name switch as well as --use-created. This ensures files without a date in the name still get moved properly.

file-date-organizer \
  --source '/Users/flackey/pCloud Drive/Automatic Upload/' \
  --target /Volumes/MPHD01/Multimedia/Photos/ \
  --move \
  --use-name \
  --use-created \
  --recursive \
  --overwrite \
  --console

The addition of the --console switch adds an output which is helpful for long-running operations...

Console Output

Important:
Combining --use-name and any other --use* option will cuase --use-name to be leveraged first. If a valid name can be found within the name then the properties of the file will be ignored.

Parameters

NameDescriptionTypeDefault
sourceSource Directorystring (path)
targetDesination Directorystring (path)
recursiveLocate files recursivelybooleantrue
overwriteOverwrite existing target filesbooleanfalse
ignoreIgnore existing target filesbooleanfalse
copyCopy the filesbooleanfalse
moveMove the filesbooleanfalse
use-nameExtract date from file namebooleanfalse
use-createdUse created date for target folder namebooleanfalse
use-modifiedUse modified date for target folder namebooleanfalse
add-typeTarget folder name includes file typebooleanfalse
add-yearTarget folder name includes file yearbooleantrue
add-monthTarget folder name includes file monthbooleantrue
add-dayTarget folder name includes file daybooleantrue
add-hourTarget folder name includes file hourbooleanfalse
add-minuteTarget folder name includes file minutebooleanfalse
add-secondTarget folder name includes file secondbooleanfalse
consoleLog activity to consolebooleanfalse
limitNumber of files to processnumber
allow-futureAllow file names with date in futurebooleanfalse

Contact

Please feel free to contact me directly with any questions, comments, or enhancement requests:

Fred Lackey
fred.lackey@gmail.com
http://fredlackey.com

0.9.0

4 years ago

0.8.3

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.8.2

4 years ago

0.7.4

4 years ago

0.7.2

4 years ago

0.7.3

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.0

4 years ago