В каждом каталоге профиля пользователя есть файл, и мне нужно удалить строку из файла в каждом каталоге профиля пользователя. Я использую пакетный скрипт, чтобы просмотреть каждый каталог профиля пользователя, ввести файл, использовать 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' {} \;