Фильтрация этой коллекции и запись в текстовый файл - PullRequest
1 голос
/ 05 ноября 2011

У меня есть следующий скрипт powershell: -

$Files = gci "e:\sourcecontrolledprojects\genericsolution\genericsolution" -recurse | Where {$_.extension -eq ".dll"} 
$Files | Format-Table FullName | 

Как я могу отфильтровать это, чтобы возвращать только Dll, содержащие тест в имени файла, и записывать каждый путь Dll на новой строке в текстовом файле?

Спасибо

Ответы [ 3 ]

1 голос
/ 06 ноября 2011

Попробуйте это:

gci e:\sourcecontrolledprojects\genericsolution\genericsolution -Include "*test*.dll" -Recurse | 
select -expand fullname | out-file test.txt

Осторожно на Format-Table, который вы пытались использовать. После того, как вы это сделаете, то, что вы передаете после этого, будет форматировать объекты, а не исходные объекты, которые вы хотели. Используйте его только в качестве последнего шага, если вы хотите отформатировать вывод на хосте.

1 голос
/ 06 ноября 2011

Мой ответ - комбинация @manojlds и @ jon's.Используйте параметр фильтра, разверните путь и запишите его в текстовый файл потоковым способом (вместо того, чтобы сначала назначить вывод переменной).Для удобства чтения код состоит из двух строк:

$path = 'e:\sourcecontrolledprojects\genericsolution\genericsolution'
gci $path -filter *test*.dll -recurse | select -expand fullname | out-file .\dlls.txt
1 голос
/ 06 ноября 2011
$Files = gci "e:\sourcecontrolledprojects\genericsolution\genericsolution" -recurse -filter "*test*.dll"  
$Files | foreach-object {$_.fullname} | out-file testdll.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...