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

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

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

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


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

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


Уважаемые господа помогите реализовать следующие. Нужен батник который умел бы следующее. Имеется некоторый файлик в котором множество строк. Имеется шаблон в который должны подставляься эти строки. Вывод должен быть направлен в другой файл и дописыватся до тех пор пока не закончатся строки в файле со списком, после чего бытник прекращает свою работу.

Пример:
1.Файл со списком содержит строки
Код: Выделить весь код
Пете 
Саше
Маше
Кате
2. Файл с шаблоном содержит чтото вида
Код: Выделить весь код
Дядя Стёпа купил %строка_из_файла_со_списком% огромное вкусное мороженное.
%строка_из_файла_со_списком% очень понравилось мороженное.
3. В итоге должен создатся третий файл в котором была вынесена последовательно обработка разделенная одной пустой строкой с предыдущей
Код: Выделить весь код
Дядя Стёпа купил Пете огромное вкусное мороженное.
Пете очень понравилось мороженное.

Дядя Стёпа купил Саше огромное вкусное мороженное.
Саше очень понравилось мороженное.
И что ещё конкретно интересует... каким должен быть сам шаблон, чтобы реализовать подобное?

Искренне надеюсь на вашу помощь

Отправлено: 01:21, 27-07-2010

 

Аватара для gora

Ушёл из жизни


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

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


Файл names.txt:
Код: Выделить весь код
Пете 
Саше
Маше
Кате
Файл text.txt:
Код: Выделить весь код
Дядя Стёпа купил %nm% огромное вкусное мороженное.
%nm% очень понравилось мороженное.
Батник:
Код: Выделить весь код
@Echo Off
(For /F %%i In (names.txt) Do (
	Set nm=%%i
	For /F "tokens=*" %%k In (text.txt) Do For /F "tokens=*" %%j In ('Echo %%k') Do Echo %%j
	Echo.
))>out.txt
В файле out.txt нужный (получаемый) текст.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:57, 27-07-2010 | #2



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

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


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


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

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


gora преогромнейшее Вам спасибо! очень выручили)

Отправлено: 14:59, 27-07-2010 | #3


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


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

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


У меня такой вопрос как решить вот такую проблему есть некий файл содержимое такое
IP:10.10.10.10,ADV
IP:22.22.22.22,ADV
IP:33.33.33.33,WMS
а вот это команда из батника
sqlplus -L user/user(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=%IP%)(PORT=1521)))(CONNECT_DATA=(SERVICE _NAME=%name%))
так вот как в подставлять ip из файла и %name% соответствующий этому ip в данном случае ADV и WMS

Отправлено: 11:49, 14-06-2011 | #4


Аватара для gora

Ушёл из жизни


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

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


ruslanstep1
Код: Выделить весь код
@Echo Off
:: Файл-список
Set file=e:\Temp\list 1.txt

For /F "usebackq tokens=2,3 delims=:," %%i In ("%file%") Do (
	Echo %%i	%%j
Rem	sqlplus -L user/user(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=%%i)(PORT=1521)))(CONNECT_DATA=(SERVICE _NAME=%%j))
)
Pause>Nul
Исполняемая строка закомментирована, в ней непарное число открывающих и закрывающих скобок, разберитесь с ней самостоятельно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:33, 14-06-2011 | #5


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


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

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


а IP он не выбирает из файла

Цитата gora:
Echo %%i %%j »
тут когда оставляеш %%i он мне показывает тока ADV И WMS из всего списка а мне еще нужно было чтоб и IP выдрались
Спасибо

Отправлено: 15:00, 14-06-2011 | #6


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


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

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


извените я просто не теми руками запускал руки кривые

Отправлено: 15:23, 14-06-2011 | #7


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


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

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


а можно этот логировать например если коннект был писать что все "ОК" а если не было коннекта то "NO" и записовать все это в файл log.txt

Отправлено: 15:48, 14-06-2011 | #8


Аватара для gora

Ушёл из жизни


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

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


Цитата ruslanstep1:
а можно этот логировать »
Я не знаю коды возврата этой утилиты, но можете попробовать так:
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
:: Файл-список
Set file=e:\Temp\list 1.txt

>Connect.log (For /F "usebackq tokens=2,3 delims=:," %%i In ("%file%") Do (
Rem	Echo %%i	%%j
Rem	sqlplus -L user/user(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=%%i)(PORT=1521)))(CONNECT_DATA=(SERVICE _NAME=%%j))
	If "!ErrorLevel!"=="0" (Echo Connection OK. %%i	%%j	%%ErrorLevel%%=!ErrorLevel!) Else Echo No Connection. %%i	%%j	%%ErrorLevel%%=!ErrorLevel!
))
Pause>Nul

Отправлено: 17:58, 14-06-2011 | #9


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


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

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


у меня токая проблема во время исполнения bat`ка пишет ошибку
(Host was unexpected at this time

Код: Выделить весь код
@echo off
set NLS_LANG=.WE8PC850 
set /p login=Your login: 
set /p pass=Your password:  
Set file=C:\Users\IskhakovR\Desktop\names.txt
>Connect.log (For /F "usebackq tokens=2,3 delims=:," %%i In ("%file%") Do ( 
Echo %%i	%%j 
exit sql.sqlcode | sqlplus -L %login%/%pass%@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = %%i)(PORT = 1521)))(CONNECT_DATA = SERVICE_NAME = %%j)))
 	If "!ErrorLevel!"=="0" (Echo Connection OK. %%i	%%j	%%ErrorLevel%%=!ErrorLevel!) Else Echo No Connection. %%i	%%j	%%ErrorLevel%%=!ErrorLevel! ))
 Pause>Nul

Отправлено: 09:12, 15-06-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Построчное чтение файла в Bash FATruden Программирование в *nix 11 19-05-2017 00:44
Чтение диска из одной ОС, в другой. spider1973 Хочу все знать 7 07-01-2010 16:39
[решено] Чтение-запись битого файла vit777 Видео и аудио: обработка и кодирование 3 19-12-2007 09:45
Запись/чтение в/из файла по строчно + удаление элементов... Georgiy Вебмастеру 5 18-07-2004 14:40
Чтение и запись CD-R дисков... GulaG Хочу все знать 25 08-06-2004 20:15




 
Переход