#powershell
#powershell
Вопрос:
У меня есть список имен1 файлов и список полных имен2 (с указанием пути)
Мне нужно извлечь все элементы из list2, существующие в list1. На простом английском языке все файлы перечислены с обеих сторон, указаны с полным путем
Я пробовал
$filenames = @('index.jsp','index1.jsp', 'index2.jsp')
$fullpaths = Get-ChildItem -rec . | where { ! $_.PSIsContainer }
$common = $fullpaths | Where { $p = $_.FullName; foreach ($n in $filenames) { $p -match $($n "$") } }
$common | foreach { Write-Output $_ }
Но он выводит все файлы в.
Как я могу правильно использовать Where, чтобы сопоставить один элемент со всеми элементами в другом списке?
Ответ №1:
Я не знаю, имели ли вы в виду что-то подобное
$filenames = @('index.jsp','index1.jsp', 'index2.jsp')
$common = Get-ChildItem -Recurse -File | where Name -In $filenames
$common.FullName
Комментарии:
1. @marsze add -File : D
2. спасибо за изменение требований, обеспечивающих безопасность истории пользователя