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

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

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

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


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

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


Добрый день!
Подскажите как построчно объединить два файла и создать новый.
Разделитель между столбцами ";".
Файл test1.txt
Код: Выделить весь код
Строка1;
Строка2;
Строка3;
..........
..........
..........
Файл test2.txt
Код: Выделить весь код
Значение1
Значение2
Значение3
..........
..........
..........
Файл final.txt
Код: Выделить весь код
Строка1;Значение1
Строка2;Значение2
Строка3;Значение3
..........
..........
..........

Отправлено: 15:12, 05-02-2016

 

Ветеран


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

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


Tera2016, Вам обязательно пакетный файл нужен? Или можно PowerShell/WSH?

Отправлено: 15:21, 05-02-2016 | #2



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

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


Аватара для Elven

Ветеран


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

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


сработает если количество строк в файлах совпадает и если в имени исходных файлов нет пробелов
Код: Выделить весь код
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set af=file_a.txt
set bf=file_b.txt
for /f "tokens=3" %%j in ('find /c /v "" %af%') do (
for /l %%i in (1,1,%%j) do (
set an=0
for /f %%a in (%af%) do (
set /a an=!an!+1
if !an!==%%i (
set bn=0
for /f %%b in (%bf%) do (
set /a bn=!bn!+1
if !bn!==%%i (
echo %%a;%%b >> result.txt
))))))
И поддержу Iska - на PS это все лучшее делается.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:10, 05-02-2016 | #3


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


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

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


а можете объяснить операторы?

Отправлено: 19:18, 05-02-2016 | #4


Аватара для Elven

Ветеран


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

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


for /f "tokens=3" %%j in ('find /c /v "" %af%') do ( - смотрим сколько строк в файле
for /l %%i in (1,1,%%j) do ( - создаем цикл на это число строк. каждая строка - одно число, и хранится оно в переменной i
set an=0 - обнуляем пременную an
for /f %%a in (%af%) do ( - перебираем первый файл
set /a an=!an!+1 - и увеличиваем на 1 значение переменной an до тех пор пока
if !an!==%%i ( - оно не совпадет с переменной i, после того как совпало
set bn=0 - обнуляем переменную bn
for /f %%b in (%bf%) do ( - перебираем второй файл
set /a bn=!bn!+1 - и увеличиваем на 1 значение переменной bn до тех пор пока
if !bn!==%%i (- оно не совпадет с переменной i, после того как совпало
echo %%a;%%b >> result.txt - записываем результат в файл
)))))) - а это вообще просто смайлик

Отправлено: 19:25, 05-02-2016 | #5


Ветеран


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

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


Цитата Elven:
)))))) - а это вообще просто смайлик »
Шутник .

Отправлено: 04:48, 06-02-2016 | #6


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


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

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


подскажите, учебник по написанию bat файлов с примерами, спасибо за описание.

Отправлено: 06:45, 06-02-2016 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - как объединить два столбца из 2-х прайсов txt johnston Скриптовые языки администрирования Windows 10 31-07-2013 17:07
CMD/BAT - [решено] Соеденить два файла построчно AlexVong Скриптовые языки администрирования Windows 6 16-03-2011 19:36
[решено] Как сравнить два массива не построчно,а целиком? pekich AutoIt 14 04-11-2010 23:36
Как объединить два скрипта в один Fantasy22 AutoIt 1 04-12-2009 12:32
объединить два файла avi VADJ Видео и аудио: обработка и кодирование 6 19-09-2005 06:03




 
Переход