2

我正在尝试递归搜索目录,在其中找到任何 .inf 文件并将这些文件传递给 pnputil 以将这些驱动程序添加到 Windows 驱动程序目录。

我有以下内容:

cd /drivers

$x = ls -Path . -Filter "*.inf" -Recurse -ErrorAction SilentlyContinue 

Foreach ($i in $x){
     pnputil /a $i
}

我从 pnputil 收到以下错误:

添加驱动程序包失败:作为参数传递的 INF 无效。

我假设它失败了,因为 pnputil 不喜欢它得到的对象。关于传递什么或修改什么的任何建议?

谢谢!

4

1 回答 1

2

你知道问题是什么。您正在将一个对象传递给命令行。您需要做的是从该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
}
于 2014-12-05T21:15:05.663 回答