Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
nikitoto
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 53
1

Удаление по заданному слову строки из текстового файла с помощью цикла FOR

25.02.2013, 11:15. Просмотров 3376. Ответов 4
Метки нет (Все метки)

как через for удалить строку из txt файла? например вводим имя файла, то что нужно удалить и далее удаляется строка содержащая то что мы ввели
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2013, 11:15
Ответы с готовыми решениями:

Удаление по заданному слову/символу строки из текстовых файлов
Есть 50 текстовых файлов, необходимо у всех удалить первые 4 строки, это шапки реестров начинаются...

Поиск строки из текстового файла по слову из нее и запись всей найденной строки в переменную
Добрый день! Стоит задача. Необходимо по определенному слову найти строку в множестве строк...

Удаление строки из текстового файла
Добро всем! :senor: У меня возникла задача удалить из txt, тоесть выбираю строку в мемо затем...

Удаление строки из текстового файла
Здравствуйте, помогите исправить проблему, есть программа которая при запуске записывает данные в...

RemoveString: удаление строки из текстового файла
И снова всем привет. Возник следующий вопрос удаления строки из текстового файла, сделал такую...

4
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
25.02.2013, 13:44 2
Без for:
Bash
1
2
3
4
5
6
7
8
9
@echo off
setlocal enabledelayedexpansion
set file_in=file.txt
set file_out=result.txt
set /p str="Введите удаляемую строку: "
if exist "%file_out%" del /f /q "%file_out%"
>nul find /i /v "%str%" "%file_in%" >> "%file_out%"
echo Thats all
pause>nul
Через for:
Bash
1
2
3
4
5
6
7
8
9
@echo off
setlocal enabledelayedexpansion
set file_in=file.txt
set file_out=result.txt
if exist "%file_out%" del /f /q "%file_out%"
set /p str="Введите удаляемую строку: "
for /f "delims=" %%a in ('findstr /i /v /c:"%str%" "%file_in%"') do echo %%a >> "%file_out%"
echo Thats all
pause>nul
Добавлено через 26 минут
В случае без for тоже лучше использовать findstr
7я строка:
Bash
1
>nul findstr /i /v /c:"%str%" "%file_in%" >> "%file_out%"
Не выводит первой строкой название файла.
0
Dragokas
Эксперт WindowsАвтор FAQ
17112 / 7167 / 862
Регистрация: 25.12.2011
Сообщений: 10,964
Записей в блоге: 16
25.02.2013, 14:36 3
Лучший ответ Сообщение было отмечено как решение

Решение

Badger, чтобы find не выводила первой строкой название файла, содержимое файла нужно перенаправлять к ней потоком:

Bash
1
>nul find /i /v "%str%" < "%file_in%" >> "%file_out%"
3
Andrew1861
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 5
12.06.2017, 13:23 4
Парни, а если надо чтоб результат удаления не записывался в новый файл а в редактируемом был, и если файлов много но у всех надо удалить только первые 4 строки
0
volodin661
2435 / 1048 / 175
Регистрация: 10.12.2013
Сообщений: 3,572
12.06.2017, 16:27 5
Windows Batch file
1
vim +"bufdo 1,4d | update" +q *.txt
0
12.06.2017, 16:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2017, 16:27

Полное удаление строки текстового файла
Помогите кто знает, облазит уж точно половину C# Cyberфорума, ничего не нашел подомного имеется...

Удаление строки с номером k из текстового файла
Пожалуйста, помогите с задачей: &quot;Дано число k и текстовый файл. Удалить из файла строку с номером...

Удаление одной строки из текстового файла
Задача, такая. Надо удалить определенную строку из файла. Использую я вот такой метод, он удаляет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.