![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Разбите текстового файла на отдельные файлы по определенному условию |
|
|
Любой язык - Разбите текстового файла на отдельные файлы по определенному условию
|
Новый участник Сообщения: 6 |
Здравствуйте. Нужна помощь. Есть список программ, скаченных с ЧПУ станка одним файлом. Необходимо этот файл разделить на отдельные файлы, например по началу программы ("O").
Т.е. если в программе присутствует O, то он должен от неё и до другого O, вырезать эту часть текста и создать новый документ с этим текстом. Пример: Скрытый текст
O0009(Bolt M14x1_6GRANNIK) (ROMB) T1M3S2700G99 G0X18.Z5. G01Z0.2F0.1 X-1. Z2. G0X12. G1Z-1.7F0.14 X12.3 Z1. X10. Z-1.3 X10.3 Z1. X8. ........ T8 G0X0 Z0 M05 G4X0.5 M99 O0021 M70 M00 M71 M30 O0004(KR M18*1.5 L25.5) (ROMB) T1M3S3500G99 G0Z3.0M8 X3. G1Z0.F0.1 X18.Z-3.6F0.25 Z-20.3 G0X19.Z-3.73 G1X18. X-0.2Z0.F0.15 G0Z25. ....... |
|
Отправлено: 14:27, 04-04-2019 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Artas28:
|
|
------- Отправлено: 15:30, 04-04-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата mwz:
|
|
Отправлено: 15:40, 04-04-2019 | #3 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать @Echo Off cls Set "BoxIn=Z:\Box_In\infile.txt" Set "BoxOut=Z:\Box_Out" Set "Delim=O" Set "OutFile=Err.txt" FOR /F "usebackq delims=" %%i IN ("%BoxIn%") DO Call :Out "%BoxOut%" "%%i" pause Exit /B 0 :Out Set "Str=%~2" If "%Str:~0,1%"=="%Delim%" FOR /F "delims=(" %%j IN ("%Str%") DO ( Set "OutFile=%%j" 2>nul Del "%~1\%%j" ) >>"%~1\%OutFile%" Echo %~2 Exit /B 0 |
------- Отправлено: 18:23, 04-04-2019 | #4 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата Artas28:
|
||
------- Отправлено: 21:07, 04-04-2019 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать PowerShell, токмо через split:
# gc test.txt|%{$i=0;$name="$i"+'.txt'}{if($_ -match '^O'){$i++;$name = "$i"+'.txt'};$_|ac $name} (Get-Content -Path 'C:\Мои проекты\0257\Source.txt' -Raw) -split "`r`nO" |` ForEach-Object -Begin { $i = 0 } -Process { $i++ Set-Content -Path "C:\Мои проекты\0257\Dest_$i.txt" -Value $('O' + $_) } |
Отправлено: 00:48, 05-04-2019 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Спасибо!
|
Последний раз редактировалось Artas28, 05-04-2019 в 08:53. Отправлено: 08:43, 05-04-2019 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать А реально сделать, что бы он файл называл не 1 или dest_1 а по названию программы в файле, если он вырезал O0003 то и файл будет называться 0003 или 3 или О0003 ?
Хотя и так отлично работает) |
Отправлено: 09:06, 05-04-2019 | #8 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
в PowerShell работать будет? |
|
Отправлено: 12:57, 05-04-2019 | #9 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Artas28,
Цитата:
Цитата Artas28:
|
||
------- Отправлено: 13:39, 05-04-2019 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - Разбивка строк общего файла на отдельные csv файлы | jordan_74 | Программирование и базы данных | 64 | 22-11-2018 08:50 | |
CMD/BAT - Скопировать файлы из папок по определенному названию | JKop | Скриптовые языки администрирования Windows | 19 | 28-10-2016 21:43 | |
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла | icomboy | Скриптовые языки администрирования Windows | 0 | 10-09-2013 15:17 | |
CMD/BAT - [решено] Копирование файла по условию его содержимого | XSubZero | Скриптовые языки администрирования Windows | 3 | 16-05-2012 17:13 | |
VBA - [решено] Разбор листа Excel по строкам в отдельные файлы | Debugger | Программирование и базы данных | 3 | 14-03-2012 15:46 |
|