[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 idwma 于 2023-1-5 20:40 编辑
  1. (for /f "tokens=3 delims=: " %%i in ('findstr /c:" ID" "!zbname!.txt"') do echo %%i)>"!zbname!id.txt"
  2. for /f "delims=" %%a in ('findstr /s /m /g:"!zbname!id.txt" *.inf') do  echo %%a
复制代码

TOP

帮助里的例子这样不是可以自动匹配吗
  1. pnputil.exe /add-driver *.inf /subdirs /install
复制代码

TOP

id只查找以VEN_xxxx&DEV_xxxx这样结尾的行可以吗,这样不会有重复的
驱动都是按这两个id来匹配的吧

TOP

本帖最后由 idwma 于 2023-1-7 16:28 编辑

如果id.txt是utf8先chcp 437再执行pnputil,然后把判断的"实例"改成英文的
  1. (
  2. (for /f "tokens=1,3 delims= " %%a in ('findstr "\\" "ID.txt"') do (
  3.     if "%%b"=="" (
  4. set /p "=for /f "delims=" %%%%i in ('findstr /s /m /c:"%%a" *.inf') do ("<nul
  5. echo;
  6. echo echo "%~dp0%%%%i"
  7. echo goto :id!nn!
  8. set /p "=)"<nul
  9. echo;
  10.     ) else if "%%a"=="实例" (
  11. set /a n+=1
  12. set /a nn=!n!+1
  13. echo :id!n!
  14.     ) else (
  15. set /p "=for /f "delims=" %%%%i in ('findstr /s /m /c:"%%b" *.inf') do ("<nul
  16. echo;
  17. echo echo "%~dp0%%%%i"
  18. echo goto :id!nn!
  19. set /p "=)"<nul
  20. echo;
  21.     )
  22. ))
  23. set /a n+=1
  24. echo :id!n!
  25. )>ids.bat
  26. call ids.bat
复制代码

TOP

回复 12# yakeyun
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. (
  5. (for /f "tokens=1,3 delims= " %%a in ('findstr "\\" "ID.txt"') do (
  6.     if "%%b"=="" (
  7. set /p "=for /f "delims=" %%%%i in ('findstr /s /m /c:"%%a" *.inf') do ("<nul
  8. echo;
  9. echo echo "%~dp0%%%%i"
  10. echo goto :id!nn!
  11. set /p "=)"<nul
  12. echo;
  13.     ) else if "%%a"=="实例" (
  14. set /a n+=1
  15. set /a nn=!n!+1
  16. echo :id!n!
  17.     ) else (
  18. set /p "=for /f "delims=" %%%%i in ('findstr /s /m /c:"%%b" *.inf') do ("<nul
  19. echo;
  20. echo echo "%~dp0%%%%i"
  21. echo goto :id!nn!
  22. set /p "=)"<nul
  23. echo;
  24.     )
  25. ))
  26. set /a n+=1
  27. echo :id!n!
  28. )>ids.bat
  29. call ids.bat
  30. pause
  31. exit
复制代码

TOP

这个文件是unicode编码试试用type来显示
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. (
  5. (for /f "tokens=1,3 delims= " %%a in ('findstr "\\" "ID.txt"') do (
  6.     if "%%b"=="" (
  7. set /p "=for /f "delims=" %%%%i in (inf.txt) do ("<nul
  8. echo;
  9. set /p "=type "%%%%i"|findstr /c:"%%a">nul&&echo %%%%i&&goto :id!nn!"<nul
  10. echo;
  11. set /p "=)"<nul
  12. echo;
  13.     ) else if "%%a"=="实例" (
  14. set /a n+=1
  15. set /a nn=!n!+1
  16. echo :id!n!
  17.     ) else (
  18. set /p "=for /f "delims=" %%%%i in (inf.txt) do ("<nul
  19. echo;
  20. set /p "=type "%%%%i"|findstr /c:"%%b">nul&&echo %%%%i&&goto :id!nn!"<nul
  21. echo;
  22. set /p "=)"<nul
  23. echo;
  24.     )
  25. ))
  26. set /a n+=1
  27. echo :id!n!
  28. )>ids.bat
  29. call ids.bat
复制代码

TOP

返回列表