Имя пользователя:
Пароль:
 

Название темы: Нумерация между строк
Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


На WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFile

Dim objFSO
Dim strContent

Dim iCount


If WScript.Arguments.Count = 1 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strSourceFile) Then
		If StrComp(objFSO.GetExtensionName(strSourceFile), "srt", vbTextCompare) = 0 Then
			With objFSO.OpenTextFile(strSourceFile)
				strContent = .ReadAll()
				.Close
			End With
			
			With WScript.CreateObject("VBScript.RegExp")
				.Pattern = "\n(\n\d{2}:\d{2}\.\d{3} --> \d{2}:\d{2}\.\d{3}\n)"
				
				If .Test(strContent) Then
					iCount = 0
					
					Do
						iCount = iCount + 1
						strContent = .Replace(strContent, vbLf & vbLf & CStr(iCount) & "$1")
					Loop While .Test(strContent)
					
					With objFSO.CreateTextFile(strSourceFile, True)
						.Write strContent
						.Close
					End With
				Else
					WScript.Echo "Not found pattern in text."
					WScript.Quit 4
				End if
			End With
		Else
			WScript.Echo "Need .srt file."
			WScript.Quit 3
		End If
	Else
		WScript.Echo "Can't find source file [" & strSourceFile & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
	WScript.Quit 1
End If

WScript.Quit 0

Путь к исходному файлу задаётся параметром скрипта (также можно просто перетянуть .srt файл на скрипт в Проводнике).
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:47, 09-07-2020 | #7

Название темы: Нумерация между строк