AVos002
|
Posted: Tue Jun 21, 2011 00:13 Post subject: Переименование файла по содержимому |
|
|
Доброго времени суток Уважаемые друзья!
Долго пытался самостоятельно написать скрипт, но наверное не судьба.
Задумка у меня такая:
есть куча файлов -> «img001.jpeg», «img002.jpeg» ... «imgNNN.jpeg» это фотографии в альбоме. Внутри каждого файла обычно хранится информация (в первых десяти строках) о точной дате и времени создания фотографии (записывается системное время фотоаппарата в момент щелчка затвора), формат такой (ЭТО ПРИМЕР->) «...2005:06:10 18:42:01...».
Мне необходимо найти этот фрагмент и переименовать файл по следующему алгоритму -> «2005-06-10-18-42-01.jpeg».
Написал скрипт, но похоже в jpeg есть хитрые символы, которые никак стандартными функциями не воспринимаются (понимаю, что это смешно, но другого объяснения нет). Вот код, но он не работает по крайней мере символа vbNewLine не находит:
Code: | 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
|
Заранее спасибо! |
|