|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? |
|
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать???
|
Новый участник Сообщения: 5 |
|
|
Отправлено: 19:39, 19-09-2009 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
@Echo Off Set "BoxIn=Z:\Box_In" Set "Mask=*.txt" Set "KeyWord=mozila" Pushd "%BoxIn%" && FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%Mask%" /B /A:-D`) DO ( >"%%f.tmp" (FOR /F "usebackq delims=" %%t IN (`2^>nul More "%%f"^|FindStr /I /V "%KeyWord%"`) DO Echo %%t) >nul Move /Y "%%f.tmp" "%%f" ) Popd Exit /B Если в разных, без просмотра подпапок, то:
@Echo Off Set BoxIn="Z:\Box_In" "Z:\Soft_In" Set "Mask=*.txt" Set "KeyWord=mozila" For %%d In (%BoxIn%) Do ( Pushd "%%~d" && FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%Mask%" /B /A:-D`) DO ( >"%%f.tmp" (FOR /F "usebackq delims=" %%t IN (`2^>nul More "%%f"^|FindStr /I /V "%KeyWord%"`) DO Echo %%t) >nul Move /Y "%%f.tmp" "%%f" ) Popd ) Exit /B |
|
------- Последний раз редактировалось megaloman, 06-09-2020 в 15:23. Отправлено: 15:07, 06-09-2020 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Все файлы в одной папке. Что-то не работает. Первая строка это путь к папке с файлами? В третью строку я вписывают ключевой слово? Если в файле мне нужно оставить не одну строку а несколько, повторить третью строку с другим ключевым словом? Это через бат файл? Сорян возможно задаю тупые вопросы - новичок.
Текст в файлах на русском языке, возможно это имеет значение или должно срабатывать в любом случае? |
Отправлено: 16:39, 06-09-2020 | #42 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Ок,
|
Отправлено: 17:01, 06-09-2020 | #43 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Начнём сначала:
Цитата Jeka124:
Цитата Jeka124:
2. В какой кодировке сохранены текстовые файлы? Неплохо бы получить образец файла. Так как Вы хотите работать с кириллицей, кодировка важна. |
||
------- Отправлено: 17:13, 06-09-2020 | #44 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Суть в том, что нужно собрать некоторые данные о школах есть файлы с данными но там много лишнего и это нужно убрать. В файле столбцы это те строки которые должны остаться в конечном итоге, второй файл образец. Работаю через Notepad++ и там кодировку можно изменить, вот только не знаю во всех одновременно можно это сделать.
|
Отправлено: 17:26, 06-09-2020 | #45 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
Цитата Jeka124:
|
||
Отправлено: 17:45, 06-09-2020 | #46 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать А как это реализовать через PowerShell?
|
Отправлено: 18:04, 06-09-2020 | #47 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата Jeka124:
|
|
Последний раз редактировалось Fors1k, 06-09-2020 в 21:45. Отправлено: 18:05, 06-09-2020 | #48 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Что-то не работает. Первая строка это путь к образу? Вторая путь к файлам? Если так то не работает, все файлы остались без изменений. Возможно я что-то не так делаю. В общем скопировал код создал файл вставил код, сохранил поменял расширение на ps1, открыл windows powerhell ise от имени админа нажал выполнить, какие-то действия были выполнены но вот результата нет, возможно результат не сохраняется?
|
Отправлено: 18:27, 06-09-2020 | #49 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Если в пути папки, заданном в батнике, нет кириллических символов, если сохранять батник в UTF8 без BOM, то можно выкрутиться. В приложенном батнике, переименованном в txt, удаляются строки с двумя (можно больше) фразами.
@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 ( FOR %%k IN (%KeyWord%) DO ( >"%%f.tmp" (More "%%f"|Find /I /V %%k) >nul Move /Y "%%f.tmp" "%%f" ) ) Popd Exit /B Можно, наверное, сделать выборку строк с ключевыми фразами, но это несколько иная песТня. Надеюсь, спецы по PowerShell напишут приемлемое для ваших тысяч файлов |
------- Последний раз редактировалось megaloman, 06-09-2020 в 18:57. Отправлено: 18:46, 06-09-2020 | #50 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Найти и заменить в текстовом файле. Как? | 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 |
|