Я пытаюсь удалить строки с определенным контентом из нескольких текстовых файлов.Удалить строки из нескольких текстовых файлов в PowerShell
Он работает в ядре, но он будет переписывать каждый файл, даже если никаких изменений не будет сделано, что не круто, если вы просто модифицируете 50 из примерно 3000 logonscripts.
Я даже сделал заявление if, но похоже, что он не работает.
Хорошо это то, что у меня уже есть:
#Here $varFind will be escaped from potential RegEx triggers.
$varFindEscaped = [regex]::Escape($varFind)
#Here the deletion happens.
foreach ($file in Get-ChildItem $varPath*$varEnding) {
$contentBefore = Get-Content $file
$contentAfter = Get-Content $file | Where-Object {$_ -notmatch $varFindEscaped}
if ($contentBefore -ne $contentAfter) {Set-Content $file $contentAfter}
}
Что переменные означают:
$ varPath это путь, в котором logonscripts есть.
$ varEnding - это окончание файла для изменения.
$ varFind - это строка, которая вызывает удаление строки.
Любая помощь будет высоко оценена.
Приветствия
LOWA Cent
Привет, Мэтт, ваш код работает как шарм! Большое спасибо! –