|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как построчно объединить два файла и создать новый |
|
CMD/BAT - [решено] Как построчно объединить два файла и создать новый
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Добрый день!
Подскажите как построчно объединить два файла и создать новый. Разделитель между столбцами ";". Файл test1.txt Файл test2.txt Файл final.txt |
|
Отправлено: 15:12, 05-02-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Tera2016, Вам обязательно пакетный файл нужен? Или можно PowerShell/WSH?
|
Отправлено: 15:21, 05-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить 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 )))))) |
Отправлено: 17:10, 05-02-2016 | #3 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать а можете объяснить операторы?
|
Отправлено: 19:18, 05-02-2016 | #4 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить 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
|
Профиль | Отправить PM | Цитировать Цитата Elven:
|
|
Отправлено: 04:48, 06-02-2016 | #6 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать подскажите, учебник по написанию bat файлов с примерами, спасибо за описание.
|
Отправлено: 06:45, 06-02-2016 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - как объединить два столбца из 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 |
|