Убедитесь, что родительский каталог является вашим текущим каталогом, и вы можете использовать эту команду:
exiftool "-directory<EXIF:DateTimeOriginal" -d "%Y%m%d/%%d" -r .
Пример, учитывая это tree \f
для текущего каталога, а затем запустив вышеуказанную команду, выдает конечный результат:
X:\!temp\test>tree /f
Folder PATH listing for volume Data
Volume serial number is 00000200 1CFF:E96C
X:.
│ 20140404_040404.jpg
│ 20150303_030303.jpg
│
└───2010
└───12
└───25
Test.jpg
X:\!temp\test>exiftool -d "%Y%m%d/%%d" "-directory<DateTimeOriginal" -r .
4 directories scanned
3 directories created
3 image files updated
X:\!temp\test>tree /f
Folder PATH listing for volume Data
Volume serial number is 00000200 1CFF:E96C
X:.
│
├───2010
│ └───12
│ └───25
├───20101225
│ └───2010
│ └───12
│ └───25
│ Test.jpg
│
├───20140404
│ 20140404_040404.jpg
│
└───20150303
20150303_030303.jpg
Test.jpg по-прежнему сохраняет путь 2010/12/25 в новом каталоге. Также обратите внимание, что исходный каталог не удаляется.
Добавление %%d
ускользает от последнего %d
, поэтому оно интерпретируется как каталог из опции -w
вместо даты из опции -d
.
Эта команда приведет к другим результатам, если вы не используете текущий каталог. Если текущий каталог находится на диске, отличном от целевого, вы, скорее всего, получите ошибку, когда он попытается добавить имя целевого каталога в текущий каталог, например, c:\CurrentDir\D:\TargetDir
. Если это необходимо сделать, посмотрите параметры% d в параметре -w
.