Переименование файла по содержимому

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
AVos002
Сообщения: 47
Зарегистрирован: Вт май 04, 2010 10:24

Переименование файла по содержимому

Сообщение AVos002 »

Доброго времени суток Уважаемые друзья!
Долго пытался самостоятельно написать скрипт, но наверное не судьба.
Задумка у меня такая:
есть куча файлов -> «img001.jpeg», «img002.jpeg» ... «imgNNN.jpeg» это фотографии в альбоме. Внутри каждого файла обычно хранится информация (в первых десяти строках) о точной дате и времени создания фотографии (записывается системное время фотоаппарата в момент щелчка затвора), формат такой (ЭТО ПРИМЕР->) «...2005:06:10 18:42:01...».
Мне необходимо найти этот фрагмент и переименовать файл по следующему алгоритму -> «2005-06-10-18-42-01.jpeg».
Написал скрипт, но похоже в jpeg есть хитрые символы, которые никак стандартными функциями не воспринимаются (понимаю, что это смешно, но другого объяснения нет). Вот код, но он не работает по крайней мере символа vbNewLine не находит:

Код: Выделить всё

Option Explicit 

Dim FSO, MSO, MSG, File, List, F, FN 
Dim CurDate, CurYear, CurMonth, CurDay, CurHour, CurMinute, CurSecond
Dim Fnam, Ras
Dim CommentVal
Dim lText
Dim lComm
Dim i
Dim strLine

List = WScript.Arguments(1) 

Set FSO = CreateObject("Scripting.FileSystemObject")

For Each F In Split(FSO.OpenTextFile(List).ReadAll, vbNewLine) 
  If F <> "" And FSO.FileExists(F) Then 		
    Set File = FSO.GetFile(F)
	FN = File.Name 					'получить название файла
	lText = FSO.OpenTextFile(F).ReadAll
	lComm = Filter(Split(lText, vbNewLine), "200", True, 1) 	'выбрать строку соответствующую наименованию файла
	If UBound(lComm) > - 1 Then 'если строка со значением 200 найдена
	   MsgBox "Здесь будет обработчик фрагмента и переименование файла"
	Else
	   MsgBox "Ничего не делаем и выбираем следующий файл"
	End If
  End If 
Next 

Set MSO = Nothing 
Set FSO = Nothing 
Set File = Nothing
WScript.Quit 
Заранее спасибо!
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

AVos002
Не знаю, как там насчёт скриптов, а банально воспользоваться в рамках группового переименования для имён выделеных файлов информационными плагинами (они же, как известно, плагины содержимого) — не судьба?
Например, [=exif.DateDigitized.Y-M-D] [=exif.TimeOriginal.h-m-s] вместо [N].
Как говорится в анекдоте, цена вопроса — две копейки и три минуты. :wink:
Последний раз редактировалось Avada Вт июн 21, 2011 00:40, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Тут стоит задействовать Script Content Plugin в связке с exif или jpg-comment.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Или ExifTool
AVos002
Сообщения: 47
Зарегистрирован: Вт май 04, 2010 10:24

Сообщение AVos002 »

Спасибо Avada! (Саратову привет)
Отдельный респект Flasher, за дополнителнение к сказанному Avad'ой !
Отлично! Работает групповое переименование и без скриптов. Я всегда знал, что есть более изящные решения моей проблемы (9870 фоток и где какая непонятно).
И вообще всем кто на посту СТП.
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Здравствуйте уважаемые!
Имеется куча CHM файлов. Названия нечитабельны. А вот заголовки у всех правильные. Листер их прекрасно отображает. Надо их переименовать исходя из заголовков. Пробовал через мультиренейм плагин ShellDetails 1.22 - неработает, хотя там есть пункт "Заголовок". По Alt+Enter все поля чистые
Подскажите плиз куда копать?
XP SP3 , TC 7.56a
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Здесь копал?
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Вахмурка
Установил. Немогу понять как он "..Кроме того, он может работать и как информационный плагин, предоставляя информацию о заголовке окна справки, компиляторе и времени компиляции. " Страницы html пакует в chm а вот где там он заголовок отображает?
И в контентных плагах его и не видать.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

JKT писал(а):Немогу понять как он "..Кроме того, он может работать и как информационный плагин, предоставляя информацию о заголовке окна справки, компиляторе и времени компиляции. "
JKT писал(а):И в контентных плагах его и не видать.
В настройках вызови диалог установки wdx-плагинов. Жми "Добавить" и укажи путь к wcx-файлу.
В списке инф. полей появится меню "CHMDir".
Нет, я не сплю. Я просто медленно моргаю.
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Batya
Жму "Добавить" из настроек wdx но он в упор нехочет видеть расширение wcx, только wdx показывает

Добавлено спустя 16 минут:

P.S.
Все получилось. Там просто надо было руками набить имя wcx.
Вахмурка,
Batya
Всем спасибо! :)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

JKT писал(а):Жму "Добавить" из настроек wdx но он в упор нехочет видеть расширение wcx, только wdx показывает
Вставь в диалоге открытия файла заботливо скопированный полный путь к wcx-файлу. А вообще, если в диалоге открытия в поле ввода имени файла написать любую маску и нажать Ентер, отобразятся файлы, соответствующие этой маске - например, пишешь *.wcx или *.* и жмешь Ентер. Это позволяет выбирать файлы, для которых нет варианта в раскрывающемся меню.
AVos002
Сообщения: 47
Зарегистрирован: Вт май 04, 2010 10:24

Сообщение AVos002 »

Avada не дай сойти с ума. До этого все работало как часы, сейчас не работает групповое переименование [=exif.DateDigitized.Y-M-D], что опять не так?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

AVos002 писал(а):что опять не так?
Я не ясновидящий и о том, что происходит на чужой машине, понятия не имею. Но когда что-то работало, а потом работать перестаёт, в промежутке всегда что-то происходит. По ошибке стёрли папку с плагином... По ошибке что-то не то удалили из wincmd.ini... Поменяли ОС и TC и пытаемся применить плагин, не подходящий по битности... Попытались употребить плагин для неподходящих файлов... И так далее. Проверять по всей цепочке.
И что в данном случае конкретно означает "не работает"? В чём это проявляется?
Даже самая богатая фантазия
Не представит себе наши безобразия.
AVos002
Сообщения: 47
Зарегистрирован: Вт май 04, 2010 10:24

Сообщение AVos002 »

Доброго вечера! Воспользовался советом (но сначала успокоился), так и есть, ни один из плагинов «exif.wdx» и «script.wdx» не установлен. Вспомнил, что совсем недавно заменил «Wincmd.ini», получается это и стало причиной удаления?
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Заменил на что?!
Разумеется, никакие манипуляции с файлом wincmd.ini не могли стать причиной удаления других файлов. А вот причиной того, что ТС перестал "видеть" плагины, физически присутствующие - вполне.
Так они "не установлены" или "удалены"?
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Ответить