NAME App::perlmv::scriptlet::add_prefix_datestamp - Add datestamp prefix (YYYYMMDD-) to filenames, using files' modification time as date VERSION This document describes version 0.002 of App::perlmv::scriptlet::add_prefix_datestamp (from Perl distribution App-perlmv-scriptlet-add_prefix_datestamp), released on 2023-07-15. SYNOPSIS With filenames: foo.txt new-bar.txt This command: % perlmv add-prefix -a prefix=new- * will rename the files as follow: foo.txt -> new-foo.txt new-bar.txt -> new-new-bar.txt This command: % perlmv add-prefix -a prefix=new- -a avoid_duplicate_prefix=1 * will rename the files as follow: foo.txt -> new-foo.txt DESCRIPTION Adding a datestamp prefix on filenames is one of the ways I often use to organize documents. There is file modification time supplied by the filesystem, but this information does not survive through git repository or sharing across the web/mobile application. Hence putting the information in the filename. SCRIPTLET ARGUMENTS Arguments can be passed using the "-a" ("--arg") perlmv option, e.g. "-a name=val". avoid_duplicate_prefix Avoid adding prefix when filename already has prefix that looks like datestamp (1xxxxxxx- to 2xxxxxxx). prefix_format Specify datestamp format, in the form of strftime() template. The default format is "%Y%m%d-" or "%Y%m%dT%H%M%S-" if you enable the "with_time" option. But you can customize it here. prefix_regex Specify how existing datestamp prefix should be recognized. This regex is used to check for the existence of datestamp (if you use the "avoid_duplicate_prefix" option. The default is "qr/^\d{8}(?:T\d{6})?-/" but if your existing datestamps are in different syntax you can accommodate them here. with_time Whether to add time (YYYYMMDD"T"hhmmss instead of just date (YYYYMMDD). HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO App::perlmv::scriptlet::add_suffix The "remove-common-prefix" scriptlet perlmv (from App::perlmv) AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2023 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.