|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Вопрос как работать с тегами/ключевыми словами в файлах jpg ? |
|
PowerShell - [решено] Вопрос как работать с тегами/ключевыми словами в файлах jpg ?
|
Старожил Сообщения: 169 |
Здравствуйте,
Подскажите пожалуйста,как с помощью Powershell работать с тегами/ключевыми словами в файлах jpg ? Если возможно приведите пример. |
|
Отправлено: 21:30, 28-10-2012 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать А как установить taglib-sharp ?
|
Отправлено: 21:24, 29-10-2012 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1758
|
Цитата dark-------13:
Вызывать "script.ps1 .\file.jpg" |
|
Отправлено: 21:57, 29-10-2012 | #22 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Хочу отфильтровать фотки по keywords и не получается делаю так, что я не правильно делаю ? Пробовал ставить так get-image | get-exif | тоже не получается .
|
Отправлено: 22:16, 29-10-2012 | #23 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:13, 30-10-2012 | #24 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Спасибо за помощь уважаемые Kazun и Foreigner.
Подскажите пожалуйста, что я делаю неправильно в следующем скрипте: Как заставить скрипт искать все фотки с заданным параметром exif "небо" и копировать в указанный каталог $dest, с переименованием одинаковых файлов если встретятся ? Делал и так ? {!$_.path} и вот так ? {$_.path} значение не передается copy-item import-module image $Path="c:\test\in" $dest="c:\test\out" Get-ChildItem $path -include *.jpg -Recurse | Get-Exif | Where {$_.Keywords -eq "небо"} | ? {!$_.path} | copy-Item -Destination { $folder = "$dest" md $folder -Force | Out-Null $fpath = Join-Path $folder $_.Name $i = 1 while($true) { if (Test-Path $fpath) { $fpath = "{0}\{1}_{2}{3}" -f $folder,$_.basename,$i,$_.extension $i++ } else { $fpath break } } } |
Отправлено: 13:10, 30-10-2012 | #25 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Get-ChildItem $path -include *.jpg -Recurse | Get-Exif | Where {$_.Keywords -eq "небо"} | Foreach {Get-Item $_.path | copy-Item -Destination { $folder = "$dest" md $folder -Force | Out-Null $fpath = Join-Path $folder $_.Name $i = 1 while($true) { if (Test-Path $fpath) { $fpath = "{0}\{1}_{2}{3}" -f $folder,$_.basename,$i,$_.extension $i++ } else { $fpath break } } } } |
Отправлено: 13:23, 30-10-2012 | #26 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Спасибо за помощь уважаемым Kazun(у), и Foreigner(у) в создании данного скрипта
Почуть переделал часть скрипта {$_.Keywords -eq "небо"}, теперь скрипт выглядит вот так - см. ниже, может быть данный скрипт будет еще кому-то полезным: #Чтобы скрипт работал нужно скачать и установить модуль ( Image-module powershell ), кратко называется image #подгружаем установленный модуль командой import-modul #ДЛЯ СОРТИРОВКИ МОЖНО ИСПОЛЬЗОВАТЬ следующие конструкции Where {($_.Keywords -like "*всп*") -or ($_.Keywords -like "*tot*")} # Where {($_.Keywords -eq "робот") -or ($_.Keywords -like "total")} # -or ($_.StarRating -eq "4")} #если скрипт файлы не переносит значит повторно выполняется команда import-module, а она должна выполняться только один раз после запуска powershell import-module image $Path="e:\test\in" $dest="e:\test\out" Get-ChildItem $path -include *.jpg -Recurse | Get-Exif | Where {($_.Keywords -like "*стоя*") -or ($_.Keywords -like "*роб*")} | Foreach {Get-Item $_.path | copy-Item -Destination { $folder = "$dest" md $folder -Force | Out-Null $fpath = Join-Path $folder $_.Name $i = 1 while($true) { if (Test-Path $fpath) { $fpath = "{0}\{1}_{2}{3}" -f $folder,$_.basename,$i,$_.extension $i++ } else { $fpath break } } } } |
Последний раз редактировалось dark-------13, 30-10-2012 в 21:12. Отправлено: 20:48, 30-10-2012 | #27 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста почему выдается ошибка при обработке некоторых фотографий ?
Get-ExifItem : Не удается обработать преобразование аргументов для параметра "image". Не удается преобразовать значение "G:\pics\2009\3\02[1]__56610.jpg" типа "Sy stem.String" в тип "System.__ComObject". C:\Users\User_1\Documents\WindowsPowerShell\Modules\image\Get-exif.ps1:146 знак:31 + $dt = (get-ExifItem -image <<<< $image -ExifID $ExifIDDateTimeTaken) + CategoryInfo : InvalidData: (:) [Get-ExifItem], ParameterBindin...mationException + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-ExifItem Get-ExifItem : Не удается обработать преобразование аргументов для параметра "image". Не удается преобразовать значение "G:\pics\2009\27\ff_03[1]__49189.jpg" типа "Sy stem.String" в тип "System.__ComObject". C:\Users\User_1\Documents\WindowsPowerShell\Modules\image\Get-exif.ps1:142 знак:34 + $altref = get-ExifItem -image <<<< $image -ExifID $ExifIDGPSAltRef + CategoryInfo : InvalidData: (:) [Get-ExifItem], ParameterBindin...mationException + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-ExifItem |
Отправлено: 23:40, 30-10-2012 | #28 |
Ветеран Сообщения: 1758
|
Видимо причина в названии файлов -- квадратные скобки. Попробуй добавить -LiteralPath в Get-Childitem.
|
Отправлено: 00:09, 31-10-2012 | #29 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Не помогло
![]() |
Отправлено: 00:27, 31-10-2012 | #30 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
DevCon’12: ключевыми докладчиками конференции станут Скотт Хансельман и Йонас Перссон | OSZone News | Новости и события Microsoft | 0 | 27-01-2012 20:30 | |
C/C++ - Помогите пожалуйста с русскими словами в C++. | dakishi | Программирование и базы данных | 1 | 20-05-2010 10:21 | |
C/C++ - Помогите пожалуйста решить проблему со словами. | dakishi | Программирование и базы данных | 17 | 19-05-2010 21:50 | |
Веб-технологии и мобильная платформа станут ключевыми темами конференции ReMIX10 | OSZone News | Новости и события Microsoft | 0 | 17-05-2010 17:30 | |
Графика - Ищу графический просмотрщик который умеет работать с тегами | dionisys | Программное обеспечение Windows | 3 | 27-01-2010 11:50 |
|