Я пытаюсь написать код PowerShell для сортировки фотографий и других медиафайлов.Дата изменения / создания файла не всегда точна, поэтому я читаю метаданные файла.Это я успешно сделал и извлек дату создания.НО я не могу заставить PowerShell распознать строку как дату.
Я ХОЧУ, чтобы иметь возможность переупорядочить дату в формате год-месяц-дата, таким образом:
$metaDate.ToString("yyyy-MM-dd")
Но я не верю, что metaDate относится ктип даты, это строка.
Поэтому я пытаюсь использовать этот код для преобразования строки в дату:
$date = [datetime]::ParseExact($metaDate,"dd/MM/yyyy HH:mm",$null)
Однако он продолжает возвращать эту ошибку:
Исключительная ситуация, вызывающая "ParseExact" с аргументом (ами) "3": "Строка не была распознана как допустимый DateTime."
Дата 'представляется' нормальной строкой, когдапеременная записывается в консоль:
26/10/2017 18:23
Но проверка длины возвращает 21 - я вижу только 16 символов (если считать пробел)
gettype () возвращает:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Тримминг не имеет значения
У кого-нибудь есть идеи или опыт работы с PowerShell и метаданными файлов?В этой строке могут быть скрытые символы?
Обратите внимание, что ручной ввод одной и той же строки символов в команду ParseExact РАБОТАЕТ (а длина возвращает 16), поэтому в строке / переменной, которую я получаю из файла, есть кое-что сомнительное.
большое спасибо Daz