Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

file-date-organizer

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

file-date-organizer

Move files into a folder structure organized by date.

  • 0.8.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

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-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

Keywords

FAQs

Package last updated on 04 Jun 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc