Вы можете использовать Папку и Файловые утилиты
$file = new File(WWW_ROOT.'/img/'.$user->image);
$file->delete();
При становлении ближе здесь - потому что Избранная Строка возвращает объекты MatchInfo, которые я могу вытащить номер строки из (39 017), теперь я просто должен вытянуть строку, окружающую... так:
gc $bigfile | Select-String melissao |
%{(gc $bigfile)[($_.LineNumber -2)..($_.LineNumber +2)]}
Если кто-либо мог бы очистить это немного для создания этого менее медленным, у Вас может быть ответ. Иначе это решение работает, но очевидно не быстро.
PowerShell, эквивалентный из grep, является избранной строкой. Можно использовать следующее.
cat file | select-string "pattern" -context 2
Примечание: это работает в PowerShell v2.0 только.
Вместо того, чтобы использовать ($bigfile gc) снова, который заставит PowerShell читать в $bigfile в память на каждом объекте, переданном по каналу к нему ForEach-объектом cmdlet, необходимо, вероятно, считать файл в переменную и затем индекс массива от этого, как так:
$bigfile = gc 'c:\scripts\bigfile.txt'
$bigfile | Select-String "melissao" | % {$bigfile[($_.LineNumber -3)..($_.LineNumber +1)]}
Кроме того, так как нумерация строк запускается в 1, и индексация массива запускается в 0, необходимо будет пойти назад 3, не 2, чтобы получить строку два пробелов выше "melissao", и пойти вперед 1, не 2, получить строку два пробелов ниже "melissao". Выполнение этого будет сеть Вы эти 5 строк, которые Вы хотите, "melissao" между этими двумя строками выше и ниже его.
Я не супер знаком с grep-C 2, таким образом, я не знаю, копирует ли это ту функциональность точно.
Загрузить grep для Windows и назвать grep от PowerShell?
Увы, похоже, что необходимо будет создать его сами или ожидать следующей версии powershell, поскольку это, кажется, было реализовано там. Можно загрузить предварительную версию Powershell 2.0 отсюда.