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

Показать сообщение отдельно

Ветеран


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

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


Код: Выделить весь код
Option Explicit

Dim strSourceFile

Dim objFSO
Dim strContent

Dim objRegExp
Dim objMatch

Dim strNewFileName

If WScript.Arguments.Count = 1 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FileExists(strSourceFile) Then
			With .OpenTextFile(strSourceFile)
				strContent = .ReadAll()
				.Close
			End With
			
			Set objRegExp = WScript.CreateObject("VBScript.RegExp")
			
			With objRegExp
				.Pattern = "<html>[\s\S]*?<title>([\s\S]*?)</title>[\s\S]*?</html>"
				.Global = True
			End With
			
			If objRegExp.Test(strContent) Then
				For Each objMatch In objRegExp.Execute(strContent)
					strNewFileName = .BuildPath(.GetParentFolderName(strSourceFile), objMatch.SubMatches(0) & ".htm")
					WScript.Echo "Create file [" & strNewFileName & "]."
					
					With .CreateTextFile(strNewFileName)
						.WriteLine objMatch.Value
						.Close
					End With
				Next
			Else
				WScript.Echo "No matches"
			End If
		Else
			WScript.Echo "Source file [" & strSourceFile & "] not found."
		End If
	End With
Else
	WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Source file>"
End If

WScript.Quit 0
Сохраните код в файл с расширением «.vbs», затем просто перетащите на него Ваш «один текстовый файл (file.txt)».

P.S. Никаких проверок на содержимое внутри тэга «title» не делается. Посему, ежели там окажется какой-либо запрещённый в именах файлов символ, например «:», скрипт завершится с ошибкой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:40, 27-09-2013 | #2