Мой сайт был взломан, в результате чего на некоторых страницах был добавлен скрипт (я думаю, vbScript) перед тегом / body. Я могу выбрать все страницы, на которые настроен таргетинг, используя
$files=get-childitem . -recurse -include $a | where {$_.LastWriteTime -gt
[datetime]::parse("08/14/2011")}
где $ a - массив спецификаций файла. Я хотел бы запустить каждый из этих файлов через конвейер get-content | -replace | set-content, но я не могу правильно понять аргументы -replace. По сути, я хочу заменить все между тегами и, включая теги, пробелом или комментарием HTML. Я почти уверен, что это можно решить с помощью регулярных выражений, но я просто не могу понять это правильно - что-то вроде:
foreach ($f in $files)
{(get-content $f)|foreach-object {$_ -replace "<script>\w+</script>","<!--Script Replaced-->"}|set-content $f}
Заранее спасибо,
Эрик Ф