Как извлечь имена файлов из файла .htm, используя строку выбора PowerShell? - PullRequest
1 голос
/ 21 января 2010

Я пытаюсь найти в интрасети файлы .htm, чтобы выяснить, с какими сетевыми файлами связаны ссылки на какие страницы сайта. Я хотел бы, чтобы PowerShell просматривал каждый .htm и возвращал любую строку, которая начинается с «file: ///» и заканчивается двойной кавычкой. Например:

<td colspan="3"><a href="file:///X:/Name of Document.doc" style="text-decoration: none">

Вернется:

file:///X:/Name of Document.doc

Что касается команд PowerShell, я использовал это:

select-string -Path [Document Path] -Pattern '[Pattern]' -AllMatches | % { $_.Matches } | % { $_.Value }

Единственная проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять регулярное выражение, которое я должен использовать для извлечения искомых строк. Есть идеи?

1 Ответ

4 голосов
/ 21 января 2010

Этот шаблон должен работать: `file: /// [^"] * ', например ::

$str = @'
<td colspan="3">
    <a href="file:///X:/Name of Document.doc" style="text-decoration: none"> 
'@
$str | select-string '(file:///[^"]*)' | %{$_.Matches[0].Value}

file:///X:/Name of Document.doc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...