我正在尝试使用start-process运行pnputil,但是它似乎不起作用。
这是一个无需启动过程即可运行的脚本:
$Driver = Get-ChildItem "$PSScriptRoot" -Recurse -Filter "*inf"
$InstallDriver = foreach ($item in $Driver) {
PNPUtil.exe /add-driver $item.FullName /install
}
但是如果我在启动过程中也做同样的事情,我将无法正常工作:
$Driver = Get-ChildItem "$PSScriptRoot" -Recurse -Filter "*inf"
$InstallDriver = foreach ($item in $Driver) {
Start-Process PNPUtil.exe /add-driver $item.FullName /install
}
我也尝试过
Start-Process PNPUtil -ArgumentList '/add-driver $item.FullName /install'
Start-Process PNPUtil -ArgumentList '/add-driver "$item.FullName" /install'
Start-Process PNPUtil -ArgumentList '/add-driver "${$item.FullName}" /install'
Start-Process PNPUtil -ArgumentList "/add-driver "${$item.FullName}" /install'
Start-Process PNPUtil -ArgumentList "/add-driver $item.FullName} /install"
但这不起作用
有人知道为什么它不起作用吗? 感谢您的帮助
答案 0 :(得分:0)
它们都是单独的参数。如果将$variable.property
括在双引号中,则需要用子表达式$()
来使变量周围的单引号阻止变量扩展。相反,尝试这个
Start-Process PNPUtil -ArgumentList "/add-driver",$item.FullName,"/install"