|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как разрезать текстовый файл на колонки? |
|
CMD/BAT - Как разрезать текстовый файл на колонки?
|
Пользователь Сообщения: 87 |
Имеется input.txt:
15a 26b 37c 48d Как получить output1.txt: 1 2 3 4 output2.txt: 5 6 7 8 output3.txt a b c d |
|
Отправлено: 14:04, 29-11-2017 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:24, 29-11-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
Проще воспользоваться SQLite.
|
Отправлено: 17:24, 29-11-2017 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
|
|
Отправлено: 17:55, 29-11-2017 | #4 |
Забанен Сообщения: 793
|
А кто сказал что в cmd строка не имеет ограничение по количеству символов? Там потолок в 8191 символ, раз, во-вторых, если делать разбор все тем же SQLite, можно запилить цикл, бьющий строку на нужное количество столбцов, два, ну и третье. Вопрос был задан как разбить строки, про "безлимит" речи не было. И кстати, вся задача по сути сводится к одной единственной команде в консоли:
А вообще, по-хорошему, давно пора положить на cmd и использовать более функциональные вещи. |
|
Отправлено: 18:15, 29-11-2017 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
Цитата alpap:
Цитата greg zakharov:
Цитата greg zakharov:
|
||||
Отправлено: 20:07, 29-11-2017 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата alpap:
До кучи
@Echo Off Set "FileIn=Z:\Box_In\input.txt" Set "OutFile=Z:\Box_Out\output" Set "OutFileExt=txt" Set /A N1=0 Set /A N2=2 FOR /L %%i IN (%N1%,1,%N2%) DO ( >"%OutFile%%%i.%OutFileExt%" (FOR /F "usebackq delims=" %%s IN ("%FileIn%") DO Call :Column "%%s" %%i) ) GoTo :Eof :Column Set "@Str=%~1" Call Set "@Str=%%@Str:~%2,1%%" Echo %@Str% GoTo :Eof |
|
------- Отправлено: 20:42, 29-11-2017 | #7 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Цитата alpap:
RightNote - одна из лучших систем управления информацией (вместе с WjjSoft myBase), но я нашел, что Scrapbook еще лучше и решил преобразовать в нее. И еще вопрос. Как сделать так чтобы bat обрабатывал не один файл input.txt, а множество файлов по списку list.txt, напр. Очень бы помогло. |
|
Отправлено: 22:42, 30-11-2017 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата ruslaw:
@echo off set "d1=C:\papka" set "d2=C:\out" if not exist "%d2%" md "%d2%" for /f "delims=" %%f in ('2^>nul dir /a-d/b "%d1%\*.txt"') do <"%d1%\%%f" (for /f "delims=" %%a in ('more') do @set "s=%%a"& call :# "%d2%" "%%~nf") pause& exit :# setlocal enabledelayedexpansion for %%a in ("!s:~%n%,1!") do if not "%%~a"=="" set /a n+=1& >>"%~1\%~2_out!n!".txt echo %%~a& goto # endlocal exit /b (в файле списка перечислить имена файлов с расширением в столбик по одному в строке) @echo off set "d1=C:\papka" set "d2=C:\out" set "f=C:\spisok.txt" if not exist "%d2%" md "%d2%" for /f "delims=" %%f in ('2^>nul dir /a-d/b "%d1%\*.txt"^|findstr /g:"%f%"') do <"%d1%\%%f" (for /f "delims=" %%a in ('more') do @set "s=%%a"& call :# "%d2%" "%%~nf") pause& exit :# setlocal enabledelayedexpansion for %%a in ("!s:~%n%,1!") do if not "%%~a"=="" set /a n+=1& >>"%~1\%~2_out!n!".txt echo %%~a& goto # endlocal exit /b |
|
Последний раз редактировалось alpap, 01-12-2017 в 03:07. Отправлено: 02:59, 01-12-2017 | #9 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Большое спасибо за помощь!
|
Отправлено: 23:01, 02-12-2017 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как построчно разбить текстовый файл на текстовые файлы содержащие одну строку | binwatch@vk | Скриптовые языки администрирования Windows | 3 | 09-09-2012 19:59 | |
CMD/BAT - Как разбить текстовый файл на куски определенного размера? | helik | Скриптовые языки администрирования Windows | 7 | 16-11-2011 06:35 | |
Как прочитать на JavaScript текстовый файл? | Efremov | Вебмастеру | 5 | 11-01-2006 11:27 | |
Как разрезать файл 700-800 МВ на несколько частей | gormark | Хочу все знать | 6 | 31-08-2005 07:41 | |
Как "разрезать" звуковой файл? | Guest | Хочу все знать | 2 | 09-12-2002 01:17 |
|