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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] можно ли батником разрезать файл по шаблону?

Ответить
Настройки темы
CMD/BAT - [решено] можно ли батником разрезать файл по шаблону?

Пользователь


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

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


Есть один текстовый файл (file.txt) в котором заключена информация на несколько html-файлов.
Примерно такой:
-------------------------------------------
<html>
<title>1</title>
<body>
1111111111
</body>
</html>
<html>
<title>2</title>
<body>
2222222222
</body>
</html>
<html>
<title>3</title>
<body>
3333333333
</body>
</html>
..........
<html>
<title>x</title>
<body>
xxxxxxxxxx
</body>
</html>
-------------------------------------------
как превратить его средствами bat-файлов (если можно) в несколько html-файлов: 1.htm, 2.htm, 3.htm .... x.htm

Отправлено: 18:14, 27-09-2013

 

Новый участник


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

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


Перебрал vbs для своих целей, теперь есть возможность указать путь к (file.txt), так же можно его или другой файл, просто перетащить на сам vbs. Может кому и пригодится.
Скрытый текст

Код: Выделить весь код
Option Explicit
Dim objArgs, readablefile, strContent, objRegExp, objMatch, strNewreadablefile
readablefile = "file.txt"
Set objArgs = WScript.Arguments     
' Для обработки можно просто перетянуть файл на значек сценария.		
If objArgs.Count > 0 Then readablefile = objArgs(0)	

	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FileExists(readablefile) Then
			With .OpenTextFile(readablefile)
				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)
					strNewreadablefile = .BuildPath(.GetParentFolderName(readablefile), objMatch.SubMatches(0) & ".html")
					'WScript.Echo "Create readablefile [" & strNewreadablefile & "]."
					
					With .CreateTextFile(strNewreadablefile)
						.WriteLine objMatch.Value
						.Close
					End With
				Next
			Else
				WScript.Echo "No matches"
			End If
		Else
			WScript.Echo "Source readablefile [" & readablefile & "] not found."
		End If
	End With
WScript.Quit 0

Последний раз редактировалось Pet20211029, 30-10-2021 в 19:12.


Отправлено: 19:05, 30-10-2021 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] можно ли батником разрезать файл по шаблону?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Можно ли подправить INF-файл? TheFlash Поиск драйверов, прошивок и руководств 18 06-03-2013 19:36
CMD/BAT - поиск строк по шаблону и запись в отдельный файл AVTS Скриптовые языки администрирования Windows 4 13-07-2012 00:51
CMD/BAT - [решено] *.bat файл на удаление папок по шаблону smol84 Скриптовые языки администрирования Windows 3 10-03-2009 15:49
Можно ли при помощи PHP скачать файл по ссылке вида http://xxxx? (+) Igor_I Вебмастеру 2 12-09-2005 21:31
Как разрезать файл 700-800 МВ на несколько частей gormark Хочу все знать 6 31-08-2005 07:41




 
Переход