|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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 |
|
Ветеран Сообщения: 1759
|
Цитата 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 |
|
Ветеран Сообщения: 1759
|
Видимо причина в названии файлов -- квадратные скобки. Попробуй добавить -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 | |
|