|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Конвертировать тхт файл с характеристиками видео файла |
|
|
Любой язык - Конвертировать тхт файл с характеристиками видео файла
|
|
Ветеран Сообщения: 558 |
Здравствуйте, подскажите, пожалуйста, как можно изменить тхт файл har.txt таким образом:
Исходный файл har.txt: File Name.type: 0001finish.wmv Resolution: 640x480 Duration: 0:13:21 Filesize: 92Mb File Name.type: 0002start.avi Resolution: 480x360 Duration: 0:03:52 Filesize: 30Mb File Name.type: 0003red.mp4 Resolution: 640x480 Duration: 0:17:02 Filesize: 163Mb File Name.type: 0004blue.wmv Resolution: 640x480 Duration: 0:08:46 Filesize: 73Mb File Name.type: 0005start.wmv Resolution: 640x480 Duration: 0:10:10 Filesize: 82Mb wmv | 0:13:21 | 640x480 | 92Mb avi | 0:03:52 | 480x360 | 30Mb mp4 | 0:17:02 | 640x480 | 163Mb wmv | 0:08:46 | 640x480 | 73Mb wmv | 0:10:10 | 640x480 | 82Mb Из первой строчки, нужно извлечь правую часть до первой встречной точки. В остальных 3ех строках нужно извлечь все, после знака двоеточия и двух пробелов за ним. Извлекаемые результаты поместить в одну строку и поставить между ними разделительный знак и два пробела от этого знака (справа и слева), как на примере har2.txt. Потом начать обрабатывать следующие четыре строки и т.д. ![]() |
|
|
Отправлено: 06:43, 15-02-2016 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Alexander_88:
Вы для каких целей делаете это преобразование? |
|
|
Отправлено: 07:20, 15-02-2016 | #2 |
|
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
![]() |
||
|
Отправлено: 07:51, 15-02-2016 | #3 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать WSH:
Скрытый текст
Option Explicit
Const strDelimiter = " | "
Dim strSourceFile
Dim strDestinationFile
Dim strContent
Dim strNewContent
Dim objMatch
If WScript.Arguments.Count = 1 Then
strSourceFile = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
strDestinationFile = .BuildPath(.GetParentFolderName(strSourceFile), .GetBaseName(strSourceFile) & "2." & .GetExtensionName(strSourceFile))
With .OpenTextFile(strSourceFile)
strContent = .ReadAll()
.Close
End With
With WScript.CreateObject("VBScript.RegExp")
.Pattern = _
"File Name.type: .*\.(.*)\r\n" & _
"Resolution: (.*)\r\n" & _
"Duration: (.*)\r\n" & _
"Filesize: (.*)\r\n"
.Global = True
.IgnoreCase = True
.MultiLine = True
If .Test(strContent) Then
strNewContent = ""
For Each objMatch In .Execute(strContent)
With objMatch
strNewContent = strNewContent & Trim(.Submatches(0)) & strDelimiter & Trim(.Submatches(2)) & strDelimiter & Trim(.Submatches(1)) & strDelimiter & Trim(.Submatches(3)) & vbCrLf
End With
Next
End If
End With
With .CreateTextFile(strDestinationFile, True)
.Write strNewContent
.Close
End With
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
WScript.Quit 1
End If
WScript.Quit 0
Исходный файл указывается аргументом скрипта (также можно просто перетянуть исходный файл на скрипт в Проводнике). |
|
Отправлено: 11:35, 15-02-2016 | #4 |
|
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать Спасибо, попробовал перетянуть файл, Все отлично конвертировалось. Как я понимаю путь к файлу в скрипте (как я привык делать) нельзя указать, Сейчас читаю/разбираюсь как указать файл аргументом, наверно мне это больше подойдет, т.к. такие скрипты будут в нескольких папках, каждый скрипт будет обрабатывать свои файлы har.txt, они тоже все в разных папках, поэтому удобней будет наверно аргументом указать, если конечно я правильно понимаю как это работает.
|
|
|
Отправлено: 14:17, 15-02-2016 | #5 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Любой язык - [решено] Создать тхт файл с ссылками | Alexander_88 | Скриптовые языки администрирования Windows | 3 | 14-02-2016 11:57 | |
| CMD/BAT - [решено] скопировать n последних строк одного тхт файла и вставить их в конец другого тхт файл | Alexander_88 | Скриптовые языки администрирования Windows | 2 | 23-11-2015 16:38 | |
| помогите с характеристиками 2 видео карт! | wap173 | Непонятные проблемы с Железом | 2 | 18-01-2015 19:42 | |
| CMD/BAT - [решено] Дописать в тхт файл | mrtwister | Скриптовые языки администрирования Windows | 2 | 04-05-2012 18:07 | |
| Любой язык - [решено] из одного тхт файла добавить содержимое во все тхт файлы папки | gangsterovich | Скриптовые языки администрирования Windows | 3 | 06-05-2011 04:29 | |
|