Как использовать пакетный файл для удаления строки текста в кучу текстовых файлов?
У меня есть куча 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