mac*_*ine 6 windows nsis driver inf
我正在尝试通过 NSIS 之类的(在 NSIS 脚本中安装驱动程序)安装 .inf 文件。
安装本身运行顺利,但 Windows 会使用其内部发布的名称(递增数字 oemxxx.inf)安装驱动程序。
我怎样才能让 pnputil.exe 给我发布的名称作为返回值(供以后使用)?
我为在 nsis 中获取已发布的驱动程序名称所做的就是这个地狱般的解决方法:
pnputil /e > driverlist_before.txtpnputil /i /a mydriver.infpnputil /e > driverlist_after.txtnsExec内容GetPublishedDrivername.cmd
@echo off
:: look at differences between files and just keep the line with the oem info
fc mydriverlist_before.txt mydriverlist_after.txt | findstr /C:"oem" > diff.txt
:: cut result and keep second part " oem##.inf"
for /f "tokens1,2 delims=:" %%a in (diff.txt) do (
if "%%a"=="Published name " set info=%%b
)
:: get rid of leading spaces "oem##.inf"
for /f "tokens=* delims= " %%a in ("%info%") do set info=%%a
:: split "oem##.inf" and keep first part "oem##"
for /f "tokens=1,2 delims=." %%a in ("%info%") do set info=%%a
:: get of the oem part "##"
set info=%info:oem=%
:: convert string into int value
set /a info=%info%
del diff.txt
:: return number as result
exit /b %info%
Run Code Online (Sandbox Code Playgroud)
这个脚本肯定可以优化,欢迎每一个输入。
| 归档时间: |
|
| 查看次数: |
26551 次 |
| 最近记录: |