|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Разбите текстового файла на отдельные файлы по определенному условию |
|
Любой язык - Разбите текстового файла на отдельные файлы по определенному условию
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать
Здравствуйте. Нужна помощь. Есть список программ, скаченных с ЧПУ станка одним файлом. Необходимо этот файл разделить на отдельные файлы, например по началу программы ("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 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
cls Set "BoxIn=C:\Newfolder\FileName.txt" Set "BoxOut=C:\Newfolder\" 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 Так? |
|
Отправлено: 14:15, 05-04-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Artas28:
$sDelim = 'O' (Get-Content -Path 'C:\Мои проекты\0257\Source.txt' -Raw) -split "`r`n$sDelim" |` ForEach-Object -Begin { $sDelim = '' } -Process { $sDestName = $sDelim + ($_ -split "`r`n")[0] -replace '\<|\>|:|"|/|\\|\||\?|\*', '_' Set-Content -Path "C:\Мои проекты\0257\$sDestName.txt" -Value $($sDelim + $_) if($sDelim -eq '') { $sDelim = 'O' } } |
|
Последний раз редактировалось Iska, 06-04-2019 в 03:22. Причина: Уточнения в коде Отправлено: 18:45, 05-04-2019 | #12 |
Ветеран Сообщения: 2722
|
Профиль | Отправить PM | Цитировать Цитата Artas28:
|
|
------- Отправлено: 19:10, 05-04-2019 | #13 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|