![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? |
|
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать???
|
Новый участник Сообщения: 5 |
|
|
Отправлено: 19:39, 19-09-2009 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать А как сделать чтобы эти строки оставались а удалялись все кроме этих. Суть в том что удалить определенные строки не проблема через тотепад можно через поиск и замену удалить все за пару минут, если прописать все что нужно удалить, но проблема в том что информация которую нужно убрать в каждом файле немного отличается.
|
Отправлено: 19:02, 06-09-2020 | #51 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать а удалялись все кроме этих
Сохранить в UTF8 без BOM, путь должен быть без кириллицы.
@Echo Off Set "BoxIn=Z:\Box_In" Set "Mask=*.txt" Set KeyWord="Ступень" "Бюджетирование (основатель)" Pushd "%BoxIn%" && FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%Mask%" /B /A:-D`) DO ( >"%%f.tmp" (FOR %%k IN (%KeyWord%) DO (More "%%f"|Find /I %%k)) >nul Move /Y "%%f.tmp" "%%f" ) Popd Exit /B Во вторых, в результате получим на выходе файлы, где строки будут следовать в порядке, указанном в Set KeyWord=..... вне зависимости от того, как они следовали в исходных файлах Я сделал, что мог, кто может, пусть сделает по другому. Вперёд на штурм PowerShel ![]() |
------- Отправлено: 19:16, 06-09-2020 | #52 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Jeka124, До меня не сразу дошло: у Вас есть бланк, надо преобразовать входные файлы в соответствии с бланком.
Вот вариант, но работать он будет медленно, сохранить в UTF
@Echo Off Set "BoxIn=Z:\Box_In" Set "Mask=*.txt" Call :KeyWord Pushd "%BoxIn%" && FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%Mask%" /B /A:-D`) DO ( Echo %%f >"%%f.tmp" (FOR /F "usebackq delims==" %%k IN (`Set "@@"`) DO (More "%%f"|Call Find /I "%%%%k%%")) >nul Move /Y "%%f.tmp" "%%f" ) Popd Exit /B :KeyWord Set "@@01=Код ЕГРПОУ:" Set "@@02=Полное название:" Set "@@03=Сокращенное название:" Set "@@04=Тип ЗОСО:" Set "@@05=Ступень:" Set "@@06=Форма собственности:" Set "@@07=Тип местности:" Set "@@08=Индекс:" Set "@@09=Почтовый адрес:" Set "@@10=Код КОАТУУ:" Set "@@11=Телефоны:" Set "@@12=E-mail:" Set "@@13=Директор:" Set "@@14=Куратор ЗОСО:" Set "@@15=Уполномоченное лицо:" Set "@@16=Количество учащихся:" Set "@@17=Количество персонала:" Set "@@18=Количество классов:" Set "@@19=Бюджетирование (основатель):" Exit /B |
------- Отправлено: 20:54, 06-09-2020 | #53 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать Powershell:
dir "C:\temp\20200906\*.txt" -Recurse |% { $data = gc "$($_.fullname)" -encoding utf8 |Select-String ` "Код ЕГРПОУ:", "Полное название:", "Сокращенное название:", "Тип ЗОСО:", "Ступень:", "Форма собственности:", "Тип местности:", "Индекс:", "Почтовый адрес:", "Код КОАТУУ:", "Телефоны:", "E-mail:", "Директор:", "Куратор ЗОСО:", "Уполномоченное лицо:", "Количество учащихся:", "Количество персонала:", "Количество классов:", "Бюджетирование (основатель):" $data |Set-Content "$($_.fullname)" -Encoding utf8 } |
------- Последний раз редактировалось DJ Mogarych, 06-09-2020 в 21:02. Отправлено: 20:56, 06-09-2020 | #54 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Да, как данным скриптом пользоваться? я запускаю а он что-то не работает
|
Отправлено: 21:34, 06-09-2020 | #55 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
Вот с записью в тот же файл: |
|
Отправлено: 21:39, 06-09-2020 | #56 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
Путь в файлам не забыли исправить? |
|
------- Отправлено: 21:44, 06-09-2020 | #57 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:48, 06-09-2020 | #58 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Эта строка (dir "C:\temp\20200906\*.txt" -Recurse |% )путь к txt файлам?
Вот что выдает Пути я поменял перенес на другой диск а то винда не дает доступ G:\Box_In\1.ps1:27 знак:15 + $model = "G:\Files\St.txt", + ~~~~~~~~~~~~~~~~~ Недопустимое условие назначения. Входным значением оператора назначения должен быть объект, способный принимать назначения, такой как переменная или свойство. + CategoryInfo : ParserError: ( ![]() + FullyQualifiedErrorId : InvalidLeftHandSide Смайлик не ставил это форум преобразовал :№) без знака № |
Отправлено: 21:50, 06-09-2020 | #59 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
|
|
Отправлено: 21:54, 06-09-2020 | #60 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Найти и заменить в текстовом файле. Как? | Pozia | AutoIt | 15 | 11-03-2010 19:12 | |
подсчёт слов в текстовом файле | bakatum | Хочу все знать | 4 | 22-01-2010 21:10 | |
CMD/BAT - [решено] Отделить последние цифры из строчки в текстовом файле | ZeroCrash | Скриптовые языки администрирования Windows | 4 | 29-06-2009 16:03 | |
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? | Pozia | AutoIt | 23 | 14-05-2009 21:41 | |
Как оставить в файле Х первых строк? | Dan | Вебмастеру | 10 | 19-10-2002 00:41 |
|