如何识别您在 Windows 10 中使用的特定打印机驱动程序

Flo*_*sam 6 printer drivers windows-10

我必须在笔记本电脑上添加打印机。其他 Windows 10 设备已经安装了打印机(很长一段时间)。Hp 不再支持这台旧打印机 (laserjet 5),因此它最近已从默认安装列表或 Windows 更新中删除。我想从已经在工作的单元中获取驱动程序,并将其放在其他没有也无法获得的 Windows 10 64bit 上。如何从存储库文件夹(“C:\Windows\System32\DriverStore\FileRepository”)中的数百个驱动程序中识别出我正在使用的驱动程序?我不想购买软件来执行此操作,目标机器是 Windows 10 Home(无法使用打印机管理导入)。

在过去 6 个月的某个时候,惠普与 MS 合作将其从默认打印机安装列表中删除(请参阅注意到此消失的最新评论):

https://h30434.www3.hp.com/t5/Printer-Software-and-Drivers/hp-laserjet-5-printer-driver-for-windows-10/td-p/5557309

https://h30434.www3.hp.com/t5/LaserJet-Printing/HP-Laserjet-5-printer-driver-for-Windows-10-ver-1803-not/td-p/6761697

2018 年 12 月 3 日更新:到目前为止,我取得的最大进展是使用 CraftyB 的回答。这是他的PowershellOutput指令的输出。它将我的打印机的 .inf 文件标识为 prnhp001.inf。我不认为这是一些人怀疑的“默认驱动程序”。另外值得注意的是,这纯粹是我家庭网络上的网络打印机。

更新 - 任务完成。使用 CraftyB 的回答,我获取了他的第二个代码块的“InfPath”结果中指示的整个文件夹,并在安装期间在“Have Disk”提示下浏览了那里,并且它工作正常。对于那些没有工作的电脑来获取驱动程序以使他们的 Laserjet5 在 Windows 10 上工作的人,我在这里提供它们。

Cra*_*tyB 11

我个人建议尝试使用 powershell:

使用此 cmdlet 识别打印机的名称:

get-printer
Run Code Online (Sandbox Code Playgroud)

这将列出打印机和相应驱动程序的名称。

现在使用打印机名称获取驱动程序位置:

$Printer = get-printer <name of printer> | Select *
get-printerdriver $printer.drivername | select *
Run Code Online (Sandbox Code Playgroud)

替换打印机名称并去掉尖括号,如果名称中有空格请用双引号括起来——“打印机名称”。

这将生成一个列表,该列表将显示以下属性下的驱动程序和相关文件的位置:

Path
DependentFiles
InfPath
Run Code Online (Sandbox Code Playgroud)

要获取相关文件的完整列表:

Get-PrinterDriver $Printer.DriverName | Select DependentFiles -ExpandProperty DependentFiles
Run Code Online (Sandbox Code Playgroud)

下面是一个复制上面所有文件的脚本,你只需要插入打印机的名字,它就会把文件放到“c:\DriverBackup\'打印机名称'”中。

$PrinterName = "Name of printer"

$DriverBackupLocation = "c:\DriverBackup\$PrinterName"

mkdir $DriverBackupLocation

$Printer = Get-Printer $PrinterName | Select *
$PrinterDriver = Get-PrinterDriver $Printer.DriverName | Select *

Copy-Item -path ($PrinterDriver.InfPath | Split-Path -Parent) -Destination $DriverBackupLocation -Recurse
Run Code Online (Sandbox Code Playgroud)