2013-02-26 3 views
0

Я пытаюсь рекурсивно искать каталог для указанного файла, который содержит .exe, а затем сохранить путь к каталогу, а затем использовать его в переменной позже.Powershell сохранить путь к каталогу из поиска ls?

Я понял, что с помощью:

ls -recurse -filter "PsExec.exe" | sort name | ft directory,name 

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

+1

Является ли этот файл гарантировано быть уникальным? Или он вернет набор файлов? – SirPentor

+0

Можете ли вы передать результат в массиве '$ items = ls -recurse -filter" PsExec.exe "| имя сортировки | ft, name' – Hiten004

+0

Вы не хотите передавать результаты 'format-table' в' $ items', но остальная идея - хорошая идея. – SirPentor

ответ

3

Если вы просто хотите сохранить полный путь к одному экземпляру файла, вы можете использовать

$path = ls -recurse -filter "PsExec.exe" | select -first 1 | select -expand FullName 

Или вы можете сохранить несколько свойств, если вы хотите

$file = ls -recurse -filter "PsExec.exe" | select -first 1 | select Name,FullName,Directory 

$file.Name 
$file.FullName 
$file.Directory 
+0

Есть ли способ поиска скрытых папок? – fifamaniac04

+0

Добавьте флаг '-Force' к вызову' ls' – latkin

Смежные вопросы