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

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

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

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


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


Конфигурация

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


Уважаемые, подскажите. Есть задача скопировать конкретные строки из одного txt файла в конкретное место второго txt файла.
Например взять строки 8-9-10 из файла 1 и вставить заместо строк 20-21-22 файла 2...

Отправлено: 16:13, 27-01-2013

 

Ветеран


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

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


Kamerad, С помощью PowerShell
Код: Выделить весь код
$a = get-content 1.txt
$b = get-content 2.txt

$b[19] = $a[7]
$b[20] = $a[8]
$b[21] = $a[9]

$b | set-content 2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:37, 27-01-2013 | #2



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

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


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


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

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


А при помощи обычно bat файла это можно реализовать?

Отправлено: 16:49, 27-01-2013 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата Kamerad:
помощи обычно bat файла это можно реализовать? »
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
:: Файл из которого берем 3 строки (8,9 и 10 строки)
Set infile1=e:\Temp\866.txt
:: Файл из которого берем все строки и заменяем 3 строки (20, 21 и 22)
Set infile2=e:\Temp\log.txt
:: Файл, получаемый после замены 3-х строк
Set newfile=e:\Temp\out.txt

Set cnt=7
For /f "skip=%cnt% usebackq delims=" %%a In ("%infile1%") Do (
	Set /A cnt +=1
	If !cnt! LSS 11 (Set $!cnt!=%%a) Else GoTo _skip
)
:_skip

Set cnt=0
(For /f "usebackq delims=" %%a In ("%infile2%") Do (
	Set /A cnt +=1
	Set line=%%a
	If !cnt!==20 Set line=%$8%
	If !cnt!==21 Set line=%$9%
	If !cnt!==22 Set line=%$10%
	Echo !line!
))>"%newfile%"
Pause>Nul

Последний раз редактировалось gora, 28-01-2013 в 11:58.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:59, 28-01-2013 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Замена строк из файла строками из файла в файле bcubbs@fb Скриптовые языки администрирования Windows 6 24-01-2013 17:22
CMD/BAT - Перенос строк из одного файла в другой jackscorpse Скриптовые языки администрирования Windows 0 25-08-2012 00:31
2010 - [решено] Excel - копирование выбранных строк на другой лист linkwy Microsoft Office (Word, Excel, Outlook и т.д.) 3 16-08-2012 21:14
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. valen Скриптовые языки администрирования Windows 0 07-11-2011 17:27
CMD/BAT - Удалить несколько строк из файла GhostKU Скриптовые языки администрирования Windows 1 01-09-2011 18:40




 
Переход