Страница 1 из 1

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

Добавлено: Вт июн 21, 2011 00:13
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 
Заранее спасибо!

Добавлено: Вт июн 21, 2011 00:32
Avada
AVos002
Не знаю, как там насчёт скриптов, а банально воспользоваться в рамках группового переименования для имён выделеных файлов информационными плагинами (они же, как известно, плагины содержимого) — не судьба?
Например, [=exif.DateDigitized.Y-M-D] [=exif.TimeOriginal.h-m-s] вместо [N].
Как говорится в анекдоте, цена вопроса — две копейки и три минуты. :wink:

Добавлено: Вт июн 21, 2011 00:37
Flasher
Тут стоит задействовать Script Content Plugin в связке с exif или jpg-comment.

Добавлено: Вт июн 21, 2011 19:32
Tol!k
Или ExifTool

Добавлено: Вт июн 21, 2011 19:53
AVos002
Спасибо Avada! (Саратову привет)
Отдельный респект Flasher, за дополнителнение к сказанному Avad'ой !
Отлично! Работает групповое переименование и без скриптов. Я всегда знал, что есть более изящные решения моей проблемы (9870 фоток и где какая непонятно).
И вообще всем кто на посту СТП.

Добавлено: Вт окт 04, 2011 14:35
JKT
Здравствуйте уважаемые!
Имеется куча CHM файлов. Названия нечитабельны. А вот заголовки у всех правильные. Листер их прекрасно отображает. Надо их переименовать исходя из заголовков. Пробовал через мультиренейм плагин ShellDetails 1.22 - неработает, хотя там есть пункт "Заголовок". По Alt+Enter все поля чистые
Подскажите плиз куда копать?
XP SP3 , TC 7.56a

Добавлено: Вт окт 04, 2011 15:01
Вахмурка
Здесь копал?

Добавлено: Вт окт 04, 2011 15:18
JKT
Вахмурка
Установил. Немогу понять как он "..Кроме того, он может работать и как информационный плагин, предоставляя информацию о заголовке окна справки, компиляторе и времени компиляции. " Страницы html пакует в chm а вот где там он заголовок отображает?
И в контентных плагах его и не видать.

Добавлено: Вт окт 04, 2011 16:44
Batya
JKT писал(а):Немогу понять как он "..Кроме того, он может работать и как информационный плагин, предоставляя информацию о заголовке окна справки, компиляторе и времени компиляции. "
JKT писал(а):И в контентных плагах его и не видать.
В настройках вызови диалог установки wdx-плагинов. Жми "Добавить" и укажи путь к wcx-файлу.
В списке инф. полей появится меню "CHMDir".

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

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

P.S.
Все получилось. Там просто надо было руками набить имя wcx.
Вахмурка,
Batya
Всем спасибо! :)

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

Добавлено: Вт янв 03, 2012 17:39
AVos002
Avada не дай сойти с ума. До этого все работало как часы, сейчас не работает групповое переименование [=exif.DateDigitized.Y-M-D], что опять не так?

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

Добавлено: Вт янв 03, 2012 23:58
AVos002
Доброго вечера! Воспользовался советом (но сначала успокоился), так и есть, ни один из плагинов «exif.wdx» и «script.wdx» не установлен. Вспомнил, что совсем недавно заменил «Wincmd.ini», получается это и стало причиной удаления?

Добавлено: Ср янв 04, 2012 00:27
Вахмурка
Заменил на что?!
Разумеется, никакие манипуляции с файлом wincmd.ini не могли стать причиной удаления других файлов. А вот причиной того, что ТС перестал "видеть" плагины, физически присутствующие - вполне.
Так они "не установлены" или "удалены"?