Как использовать пакетный файл для удаления строки текста в кучу текстовых файлов?

У меня есть куча txt файлов на моем диске D, которые помещаются случайным образом в разных местах. Некоторые файлы также содержат символы. Я хочу командный файл, чтобы я мог полностью удалить свои конкретные строки одновременно, не делая этого по одному для каждого файла, и, пожалуйста, обратитесь к коду, который не создает новый текстовый файл в другом месте с включенными изменениями т.е. я не хочу использовать файл input.txt и output.txt. Мне просто нужно, чтобы исходные файлы были заменены изменениями, как только я нажимаю командный файл.

например D:\а\1.txt D:\xyz\2.txt и т.д.

Я хочу, чтобы обе их 3-й строки полностью стерты одним кликом, и новый файл должен быть сохранен с тем же именем в том же месте, то есть новые измененные текстовые файлы должны заменить старые текстовые файлы на удаленные соответствующие строки. Может быть, какая-то вещь *.txt, то есть я должен иметь возможность изменять все файлы с расширениями .txt на диске через один пакетный файл, возможно, на другом диске, не помещая мой пакетный файл в каждую папку отдельно, а затем запуская их. Кроме того, приветствуется файл vbs.

Ответы

Ответ 1

В этом случае используется вспомогательный пакетный файл с именем findrepl.bat from - http://www.dostips.com/forum/viewtopic.php?f=3&t=4697

Поместите findrepl.bat в ту же папку, что и пакетный файл ниже.

Он будет искать каждый *.txt файл на диске d: и удалить строку 3.

@echo off
for /r "d:\" %%a in (*.txt) do (
   echo processing "%%a"
   type "%%a"|findrepl /v /o:3:3 >"%%a.tmp"
   move "%%a.tmp" "%%a" >nul
)
pause