|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - С помощью bat-ника перенести нужное количество строк в одну в текстовом файле |
|
CMD/BAT - С помощью bat-ника перенести нужное количество строк в одну в текстовом файле
|
Новый участник Сообщения: 4 |
Здравствуйте, помогите создать .bat в текстовом документе для переноса первых 10 строчек в одну, далее следующие 10 и так далее.
Необходимо чтобы совмещенные строчки разделялись не пробелами а табуляцией (для дальнейшей работы в .xls) Пример текста: Скрытый текст
01050
Фамилия И.О. * Улица (Ж), д. 8, кв. 4 0.5235 -100.00 Абонплата не снята Мировой 28/11/10 09:09:08 1243 Фамилия И.О. * Улица (Ж), д. 9, кв. 5 ... |
|
Отправлено: 12:07, 02-06-2015 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:55, 02-06-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Как-то так:
Скрытый текст
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFile=%~1
set sDestFile=Result.txt
if defined sSourceFile (
if exist "%sSourceFile%" (
for /f "usebackq delims=" %%i in (
`type "%sSourceFile%" ^| find.exe /c /v ""`
) do set /a iLinesCount = %%~i
set /a iMod = !iLinesCount! %% 10
if !iMod! equ 0 (
set /a iGroups = !iLinesCount! / 10
<"%sSourceFile%" >"%sDestFile%" (
for /l %%i in (1, 1, !iGroups!) do (
for /l %%i in (1, 1, 9) do (
set sVar=
set /p sVar=
<nul set /p sTempVar=!sVar!
)
set sVar=
set /p sVar=
<nul set /p sTempVar=!sVar!
echo.
)
)
) else (
echo Lines count [!iLinesCount!] in [%sSourceFile%] not a multiple of 10."
exit /b 3
)
) else (
echo Can't find source file [%sSourceFile%].
exit /b 2
)
) else (
echo Usage: %~nx0 ^<Source file^>
exit /b 1
)
endlocal
exit /b 0
Имя исходного текстового файла задаётся параметром пакетного файла (также можно просто перетянуть исходный файл на пакетный файл в Проводнике). Georgio, в конце строк лишний табулятор вкрался ![]() |
Отправлено: 13:15, 02-06-2015 | #3 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо! Оба батника работают. А нельзя сделать так, чтоб и пустые строки при переносе были отделены табуляцией (т.к. в некоторых ситуациях они бывают заполнены и при переносе в таблицу данные смещаются), а в данном случае они теряются.
|
Отправлено: 15:30, 02-06-2015 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Rz78:
Скрытый текст
![]() |
||
Отправлено: 16:21, 02-06-2015 | #5 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Попробую пояснить в картинках.
есть такой текстовый документ с данными Скрытый текст
01050
Фамилия И.О. * Улица (Ж), д. 8, кв. 4 0.5235 -100.00 Абонплата не снята Мировой 28/11/10 09:09:08 1243 Фамилия И.О. * Улица (Ж), д. 9, кв. 5 35.0000 -3000.00 Абонплата не снята Пятьдесят 20/06/14 09:05:38 a-spivak Фамилия И.О. Улица (Ж), д. 6, кв. 10 85.7785 Пятьдесят Пятьдесят 01/06/15 05:00:34 Скрытый текст
![]() после применения батников получается не 10 столбцов, а по количеству заполненных строк Скрытый текст
![]() а необходимо чтоб было так Скрытый текст
![]() т.е. другими словами: 10 строчек должны стать 10 столбцами, следующие 10 ... и т.д. |
Последний раз редактировалось Rz78, 06-06-2015 в 13:58. Отправлено: 13:43, 06-06-2015 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Rz78, поскольку конфигурацию в профиле Вы не заполнили — спрашиваю: у Вас Windows 7 или выше?
|
Отправлено: 15:06, 06-06-2015 | #7 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать W_7_Pro x86
|
Последний раз редактировалось Rz78, 06-06-2015 в 15:16. Отправлено: 15:10, 06-06-2015 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле | InVariable | Скриптовые языки администрирования Windows | 4 | 22-05-2015 20:06 | |
CMD/BAT - Подсчет количества строк в текстовом файле | sl1mus | Скриптовые языки администрирования Windows | 3 | 28-06-2012 21:29 | |
CMD/BAT - С помощью bat-ника найти и заменить текст в файле на текст из другого файла | Nun-Nun | Скриптовые языки администрирования Windows | 1 | 08-03-2011 15:25 | |
VBS/WSH/JS - Автоматизировать большое количество однотипных действий в текстовом файле | mityamitya | Скриптовые языки администрирования Windows | 1 | 19-04-2010 04:34 | |
Автоматизировать большое количество однотипных действий в текстовом файле | mityamitya | AutoIt | 3 | 18-04-2010 17:44 |
|