Platform-independent utility for renaming batches of files
- PHP 5.6.0+
php batch-renamer.php <mode> <format> [<directory>] [<timeOffset>]
mode
: eitherpreview
orapply
format
: format string for new filenames with optional placeholders (e.g.%erf - %fnw.%fel
)directory
(optional): working directory (e.g...
orsubfolder
)timeOffset
(optional): ISO 8601 duration to be added to any time (e.g.PT36H
or-P1DT12H
)
%fcf
: full date and time (e.g. “1999-12-31 23.59.59”)%fcd
: full date (e.g. “1999-12-31”)%fct
: full time (e.g. “23.59.59”)%fcy
: year as four decimal digits%fcm
: month of the year as two decimal digits with leading zeros (“01” through “12”)%fca
: day of the month as two decimal digits with leading zeros (“01” through “31”)%fch
: hour of the day as two decimal digits with leading zeros (“00” through “23”)%fci
: minute of the hour as two decimal digits with leading zeros (“00” through “59”)%fcs
: second of the minute as two decimal digits with leading zeros (“00” through “59”)%fce
: week-numbering year as four decimal digits%fcw
: week of the year as two decimal digits with leading zeros (“01” through “53”)%fck
: day of the week as a number from “1” (Monday) to “7” (Sunday)%fcu
: number of seconds since the Unix Epoch
%fmf
: full date and time (e.g. “1999-12-31 23.59.59”)%fmd
: full date (e.g. “1999-12-31”)%fmt
: full time (e.g. “23.59.59”)%fmy
: year as four decimal digits%fmm
: month of the year as two decimal digits with leading zeros (“01” through “12”)%fma
: day of the month as two decimal digits with leading zeros (“01” through “31”)%fmh
: hour of the day as two decimal digits with leading zeros (“00” through “23”)%fmi
: minute of the hour as two decimal digits with leading zeros (“00” through “59”)%fms
: second of the minute as two decimal digits with leading zeros (“00” through “59”)%fme
: week-numbering year as four decimal digits%fmw
: week of the year as two decimal digits with leading zeros (“01” through “53”)%fmk
: day of the week as a number from “1” (Monday) to “7” (Sunday)%fmu
: number of seconds since the Unix Epoch
%erf
: full date and time (e.g. “1999-12-31 23.59.59”)%erd
: full date (e.g. “1999-12-31”)%ert
: full time (e.g. “23.59.59”)%ery
: year as four decimal digits%erm
: month of the year as two decimal digits with leading zeros (“01” through “12”)%era
: day of the month as two decimal digits with leading zeros (“01” through “31”)%erh
: hour of the day as two decimal digits with leading zeros (“00” through “23”)%eri
: minute of the hour as two decimal digits with leading zeros (“00” through “59”)%ers
: second of the minute as two decimal digits with leading zeros (“00” through “59”)%ere
: week-numbering year as four decimal digits%erw
: week of the year as two decimal digits with leading zeros (“01” through “53”)%erk
: day of the week as a number from “1” (Monday) to “7” (Sunday)%eru
: number of seconds since the Unix Epoch
%fne
: current filename with extension%fnw
: current filename without extension%feo
: current file extension in original form%fel
: current file extension in lower case%feu
: current file extension in upper case%fsb
: file size in bytes
%nd1
,%nd2
, … or%nd9
: consecutive number in (at least 1, 2, … or 9) decimal digits%nx1
,%nx2
, … or%nx9
: consecutive number in (at least 1, 2, … or 9) lowercase hexadecimal digits%nh1
,%nh2
, … or%nh9
: consecutive number in (at least 1, 2, … or 9) uppercase hexadecimal digits
%w11
,%w12
,%w13
, …,%w19
, … or%w1n
: part from the first segment to the first, second, third, …, ninth, … or last segment%w22
,%w23
,%w24
, …,%w29
, … or%w2n
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%w33
,%w34
,%w35
, …,%w39
, … or%w3n
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%wi1
,%w21
,%w31
, …,%w91
, … or%wn1
: part from the first segment to the first, second, third, …, ninth, … or last segment%wi2
,%w32
,%w42
, …,%w92
, … or%wn2
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%wi3
,%w43
,%w53
, …,%w93
, … or%wn3
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%d11
,%d12
,%d13
, …,%d19
, … or%d1n
: part from the first segment to the first, second, third, …, ninth, … or last segment%d22
,%d23
,%d24
, …,%d29
, … or%d2n
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%d33
,%d34
,%d35
, …,%d39
, … or%d3n
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%di1
,%d21
,%d31
, …,%d91
, … or%dn1
: part from the first segment to the first, second, third, …, ninth, … or last segment%di2
,%d32
,%d42
, …,%d92
, … or%dn2
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%di3
,%d43
,%d53
, …,%d93
, … or%dn3
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%p11
,%p12
,%p13
, …,%p19
, … or%p1n
: part from the first segment to the first, second, third, …, ninth, … or last segment%p22
,%p23
,%p24
, …,%p29
, … or%p2n
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%p33
,%p34
,%p35
, …,%p39
, … or%p3n
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%pi1
,%p21
,%p31
, …,%p91
, … or%pn1
: part from the first segment to the first, second, third, …, ninth, … or last segment%pi2
,%p32
,%p42
, …,%p92
, … or%pn2
: part from the second segment to the second, third, fourth, …, ninth, … or last segment%pi3
,%p43
,%p53
, …,%p93
, … or%pn3
: part from the third segment to the third, fourth, fifth, …, ninth, … or last segment- …
%eiw
: image width in pixels%eih
: image height in pixels%ecb
: camera brand%ecm
: camera model
%hm5
: MD5 hash in lowercase hexadecimal digits%hs1
: SHA-1 hash in lowercase hexadecimal digits%hs2
: SHA-256 hash in lowercase hexadecimal digits%had
: Adler-32 checksum in lowercase hexadecimal digits%hcr
: CRC32 checksum in lowercase hexadecimal digits
All contributions are welcome! If you wish to contribute, please create an issue first so that your feature, problem or question can be discussed.
This project is licensed under the terms of the MIT License.