Я узнал, что мой пакетный скрипт работает неправильно. Я хотел бы написать функцию, которая удаляет конкретную строку в файл, это мой код:Удаление определенной строки в файле с помощью пакетного скрипта
:unmark
type %MARKPATH% | findstr /B /V %1 > %MARKPATH_COPY%
GOTO:EOF
Да, это работает, но он пишет новое содержание (без конкретных линий) в новом файле. Но вместо этого я хочу перезаписать существующий файл. Например:
:unmark
type %MARKPATH% | findstr /B /V %1 > %MARKPATH%
GOTO:EOF
Но он не работает, файл пуст после выполнения кода. Можете ли вы помочь мне выяснить, что является проблемой и как ее решить?
отличное решение, но что> NUL делать? EDIT: Я просто проверю это, и он работает неправильно. Он записывает строки, если содержит строку, указанную в findstr. Не удалять его. – Andrius
> nul скрывает сообщение, которое печатает 'MOVE', чтобы экран был чистым. Команда findstr использует те же самые ключи, что и ваш пример. Тогда вы тоже должны ошибаться. : D – foxidrive