Назад | Перейти на главную страницу

Как удалить строку из файла, находящегося в нескольких каталогах

В каждом каталоге профиля пользователя есть файл, и мне нужно удалить строку из файла в каждом каталоге профиля пользователя. Я использую пакетный скрипт, чтобы просмотреть каждый каталог профиля пользователя, ввести файл, использовать findstr, чтобы не отображать строку, а затем перенаправить вывод на себя. По какой-то причине это не удаляет линию.

SET ProfileBase=%SystemDrive%\Documents and Settings

for /f "tokens=*" %%a in ('dir /b /ad-h "%ProfileBase%"') do type "%ProfileBase%\%%a\myfile" | findstr /v display >> :%ProfileBase%\%%a\myfile"

Использует win32 версии sed и find вне вопроса? Те легко могли это сделать *. Также стоит взглянуть на PowerShell.

*) find /path/to/files -type f -iname 'filename' -execdir sed -i -e '/^exact line you want to disappear$/d' {} \;