Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Интересная операция с текстом

Аватара для iccup.platoon@vk

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


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

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


Доброго времени суток.
Задача стоит в следующем - имеется файл такого содержания:
Код: Выделить весь код
текст_первого_типа_1
текст_второго_типа_1
текст_третьего_типа_1
текст_первого_типа_2
текст_второго_типа_2
текст_третьего_типа_2
текст_первого_типа_3
текст_второго_типа_3
текст_третьего_типа_3
...
Мне нужно сделать так, чтобы, после обработки BAT-файлом, файл принял следующий вид:
Код: Выделить весь код
текст_первого_типа_1 | текст_второго_типа_1 | текст_третьего_типа_1
текст_первого_типа_2 | текст_второго_типа_2 | текст_третьего_типа_2
текст_первого_типа_3 | текст_второго_типа_3 | текст_третьего_типа_3
Да, именно разделенные такими | палочками и обязательно с пробелами по обе "границы" (то есть [текст][пробел][|][пробел][текст][пробел][|][пробел][текст]. Я уже как только не мучался - пытался читать с трех разных файлов, клея строки... Ничего не выходит. Прошу Вашей помощи...

Отправлено: 06:31, 24-12-2013

 

Ветеран


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

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


iccup.platoon@vk, многое зависит от того, в какой кодировке и с какими разделителями строк этот файл находится. Также малопонятно, что подразумевается под «текст_первого_типа_1», «текст_первого_типа_2» и т.д., по какому принципу их отбирать и группировать.

Выложите образец реального файла, упаковав его в архив. И на его примере укажите потребный результат.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:15, 24-12-2013 | #2



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

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


Аватара для iccup.platoon@vk

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


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

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


Вложения
Тип файла: rar задача.rar
(486 байт, 6 просмотров)

В архиве фалы исходник.тхт ("сырой" фаил) и результат.тхт (файл, который должен получиться после обработки).

Отправлено: 07:26, 24-12-2013 | #3


Ветеран


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

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


Ага. Стало быть, задача такая — сгруппировать строки по трое с разделителем?

Правда, непонятно,
читать дальше »
как из строк:
Код: Выделить весь код
Elven Relations
rutracker.org/forum/viewtopic.php?t=3407872
86 MB
может получиться:
Код: Выделить весь код
Elven Relations | http://rutracker.org/forum/viewtopic.php?t=3407872 | 86 MB
?


На WSH. Пробуйте:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim strSourceFile
Dim strDestFile
Dim arrLines
Dim i


strSourceFile = "E:\Песочница\0338\задача\исходник.txt"
strDestFile   = "E:\Песочница\0338\задача\результат.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
	If .FileExists(strSourceFile) Then
		With .OpenTextFile(strSourceFile)
			arrLines = Split(.ReadAll(), vbCrLf)
			
			.Close
		End With
		
		ReDim Preserve arrLines(UBound(arrLines) - 1)
		
		With .CreateTextFile(strDestFile, True)
			For i = LBound(arrLines) To UBound(arrLines) Step 3
				.WriteLine arrLines(i) & " | " & arrLines(i + 1) & " | " & arrLines(i + 2)
			Next
			
			.Close
		End With
	Else
		WScript.Echo "Source file [" & strSourceFile & "] not found."
		WScript.Quit 1
	End If
End With

WScript.Quit 0

Последняя строка исходного файла должна завершаться символами конца строки (иначе уберите «ReDim Preserve arrLines(UBound(arrLines) - 1)»).
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:01, 24-12-2013 | #4


Аватара для iccup.platoon@vk

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


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

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


Iska, про http - банальная опечатка, простите. А про wsh - в каком формате сей код сохранить?

Iska, при запуске говорится "сценарий не указан"

Вай, всё работает, большое спасибо! Я так понял, WSH получше бата? Спасибо, задача решена.

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 08:51, 24-12-2013 | #5


Ветеран


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

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


Цитата iccup.platoon@vk:
А про wsh - в каком формате сей код сохранить? »
Расширение — «.vbs», кодировка — ANSI/1251.

Цитата iccup.platoon@vk:
Я так понял, WSH получше бата? »
Больше возможностей.

Отправлено: 09:49, 24-12-2013 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интересная задача truvo Хочу все знать 9 19-07-2010 12:42
Интересная проблема! DarkManX Непонятные проблемы с Железом 19 14-03-2008 19:06
Интересная задача! Tilion Вебмастеру 3 19-07-2005 21:29
Интересная ситуация Micro Microsoft Windows 95/98/Me (архив) 15 16-01-2004 21:31
Интересная проблема cheap Хочу все знать 2 19-09-2002 12:46




 
Переход