|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Дата съемки |
|
|
PowerShell - [решено] Дата съемки
|
Ветеран Сообщения: 992 |
Профиль | Сайт | Отправить PM | Цитировать
Возникло желание массово переименовать фотографии в соответствии с временем съемки оных, однако, выдрать этот параметр в какую-нибудь переменную я не нашел возможности. Было бы проще если он совпадал с датой создания или изменения или последнего обращения, но нет, эта дата совершенно независима от тех. Короче, нужно получить из файла дату съемки и переименовать по этой дате файл.
|
|
Отправлено: 12:32, 12-10-2016 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:39, 12-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать PS D:\!test> add-type -AssemblyName System.Drawing $file = New-Object System.Drawing.Bitmap("123.JPG") [System.Text.Encoding]::ASCII.GetString($file.GetPropertyItem(36867).Value) New-Object : Исключение при вызове ".ctor" с "1" аргументами: "Недопустимый параметр." строка:2 знак:19 + $file = New-Object <<<< System.Drawing.Bitmap("123.JPG") + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand Нельзя вызвать метод для выражения со значением NULL. строка:3 знак:62 + [System.Text.Encoding]::ASCII.GetString($file.GetPropertyItem <<<< (36867).Value) + CategoryInfo : InvalidOperation: (GetPropertyItem:String) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull |
Отправлено: 13:08, 12-10-2016 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Так укажите полный путь к файлу с фотографией.
|
Отправлено: 13:37, 12-10-2016 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 13:42, 12-10-2016 | #5 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Kazun, спасибо, стало понятнее. Просто запускал скрипт из папки где находился файл, полагал имени будет достаточно.
|
Отправлено: 14:48, 12-10-2016 | #6 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Теперь возник другой вопрос, наверное, глупый, но сходу как его решить я что-то не пойму: как изменить формат выводимой даты? выводится что-то вроде 2014:07:27 11:27:49 , а нужно 20140727 11_27_49. Или это просто так не решается и нужно строку потрошить?
|
Отправлено: 15:36, 12-10-2016 | #7 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:45, 12-10-2016 | #8 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Kazun, аналогичным способом пробовал, но что-то я видно делаю не так:
add-type -AssemblyName System.Drawing Get-ChildItem d:\test\*.jpg | ForEach-Object { $file = New-Object System.Drawing.Bitmap($_.FullName) $pdate = [System.Text.Encoding]::ASCII.GetString($file.GetPropertyItem(36867).Value) [datetime]::ParseExact($pdate,"yyyy:MM:dd HH:mm:ss",$null).ToString('yyyyMMdd HH_mm_ss') } Исключение при вызове "ParseExact" с "3" аргументами: "Строка не распознана как действительное значение DateTime." строка:5 знак:23 + [datetime]::ParseExact <<<< ($pdate,"yyyy:MM:dd HH:mm:ss",$null).ToString('yyyyMMdd HH_mm_ss') + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException |
Отправлено: 15:53, 12-10-2016 | #9 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:10, 12-10-2016 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Переименование упорядоченного по дате съемки файлов | bazik83 | Скриптовые языки администрирования Windows | 4 | 28-12-2013 10:10 | |
Ошибка - Дата сбрасывается | eXstra | Microsoft Windows 2000/XP | 18 | 12-01-2013 02:38 | |
Режим съемки документов | firedevil | Цифровое изображение | 3 | 22-01-2012 11:19 | |
Качество съемки | Guest | Хочу все знать | 2 | 16-08-2004 22:26 | |
Системная дата | VladNik | Microsoft Windows 95/98/Me (архив) | 2 | 07-08-2002 01:35 |
|