Передает.inf файлы powershell в pnputil
Я пытаюсь рекурсивно искать каталог, находить внутри него любые файлы.inf и передавать эти файлы в pnputil, чтобы добавить эти драйверы в каталог драйверов Windows.
У меня есть следующее:
cd /drivers
$x = ls -Path . -Filter "*.inf" -Recurse -ErrorAction SilentlyContinue
Foreach ($i in $x){
pnputil /a $i
}
и я получаю следующую ошибку от pnputil:
Не удалось добавить пакет драйвера: неверный INF передан в качестве параметра.
Я предполагаю, что это терпит неудачу, потому что pnputil не нравится объект, который это получает. Любое предложение относительно того, что передать, или что изменить?
Спасибо!
1 ответ
Вы знали, в чем проблема. Вы передаете объект в командную строку. Что вам нужно сделать, это извлечь полный путь из этого System.IO.FileInfo
объект для передачи pnputil
Foreach ($i in $x){
& pnputil /a $i.FullName
}
Это должно дать вам результаты, которые вы ищете. Еще одна вещь, которую вы могли бы сделать, это изменить $x
чтобы это был массив имен файлов. -ExpandProperty
быть важной частью.
$x = ls -Path . -Filter "*.inf" -Recurse -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Fullname
Foreach ($i in $x){
pnputil /a $i
}