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

Я хотел бы удалить конкретную строку в файле, используя пакетный скрипт.

Вот мой сценарий. Например, у меня есть файл.txt с именем "Files.txt".

Когда вы открываете Files.txt. он содержит список файлов. Например:

Name     Sample1.txt       Sample2.txt
Age      Age1.txt          Age2.txt

Когда вы открываете Sample1.txt, вот пример содержимого:

SET AAAAA
GET BBBBB
MOV CCCCC
COP DDDDD

Теперь я хотел бы, чтобы у пользователя была опция, какую часть строки он хотел бы удалить в файле Sample1.txt. Например:

Enter the line/s you want to remove (separated by comma): SET,MOV

После этого содержимое файла Sample.txt будет:

GET BBBBB
COP DDDDD

По сути, если мы вызываем Files.txt, столбцы 2 и 3 будут сравниваться.

for /f "tokens=2,3" %%a in ('type c:\sample\files.txt') do (
echo Comparing Column 2: %%a  Column 3: %%b 
rem Logic for comparison goes here

Теперь, перед совместным отображением, я хочу, чтобы у пользователя была возможность удалить строки в файле, которые он не хочет включать в сравнение.

Обратите внимание, что у меня уже есть логика для сравнения столбца 2 и 3.

1 ответ

Удалить строку сценария

 @echo off

 For /f "tockens=1-2 delims= " %%a in (nameoffile.txt) do (

 Set /p line= enter line to remove :

 If not "%%a"=="!line!" (

 Echo >nameoffile.txt

 Echo %%a %%b >> nameoffile.txt

         )

 )

Nameoffle должен быть одинаковым в наборе множеств для цикла for и echo в операторе if, чтобы пакетный файл мог перезаписать исходный файл

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

Другие вопросы по тегам