找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: 766266yyn

[文本处理] 请教:如何判断wim映像的版本

[复制链接]
发表于 3 小时前 | 显示全部楼层
766266yyn 发表于 2026-7-31 08:55
cmd 闪退,所以在终端管理员测试

你是在 powershell 窗口命令行运行,应改在 cmd 窗口命令行中运行批处理脚本才比较可靠...
 楼主| 发表于 3 小时前 | 显示全部楼层
aloha20200628 发表于 2026-7-31 09:24
你是在 powershell 窗口命令行运行,应改在 cmd 窗口命令行中运行批处理脚本才比较可靠... ...

CMD 测试是同样的结果
发表于 2 小时前 | 显示全部楼层
766266yyn 发表于 2026-7-31 10:09
CMD 测试是同样的结果

好吧就用你提供的第二个窗口反馈信息分析:
最后运行是用 dism /English /Get-WimInfo /WimFile:"%wimFile%" /index:1,系统报错是:未发现指定的文件,即 "%wimFile%" 的真实路径文件名有错,改用在命令行直接运行
   dism /English /Get-WimInfo /WimFile:"D:\yynTemp\boot-10.wim" /index:1
再看返回值是什么?要确保 D:\yynTemp\boot-10.wim 文件的存放位置正确呵!
发表于 1 小时前 | 显示全部楼层
766266yyn 发表于 2026-7-31 10:09
CMD 测试是同样的结果


还可在 powershell 窗口命令行直接试试以下这行代码

  1. Import-Module Dism; (Get-WindowsImage -ImagePath 'D:\yynTemp\boot-10.wim' -Index 1).Version
复制代码

 楼主| 发表于 1 小时前 | 显示全部楼层
aloha20200628 发表于 2026-7-31 11:13
还可在 powershell 窗口命令行直接试试以下这行代码

屏幕截图-3.jpg

屏幕截图-2.jpg
发表于 1 小时前 | 显示全部楼层

好极了!两者的版本号返回值一致,10.0.19043 是 win10 版本
 楼主| 发表于 1 小时前 | 显示全部楼层
aloha20200628 发表于 2026-7-31 10:57
好吧就用你提供的第二个窗口反馈信息分析:
最后运行是用 dism /English /Get-WimInfo /WimFile:"%wimFil ...

这句代码放在脚本中结果:

Error: 740

Elevated permissions are required to run DISM.
Use an elevated command prompt to complete these tasks.
请按任意键继续. . .
发表于 1 小时前 | 显示全部楼层
766266yyn 发表于 2026-7-31 11:41
这句代码放在脚本中结果:

Error: 740

提示要在提权状态下运行脚本...
你用右键管理员身份运行脚本即可,或在管理员窗口中运行脚本亦可。
 楼主| 发表于 半小时前 | 显示全部楼层
aloha20200628 发表于 2026-7-31 12:00
提示要在提权状态下运行脚本...
你用右键管理员身份运行脚本即可,或在管理员窗口中运行脚本亦可。 ...

确实,以管理员运行脚本通过
非常感谢老师

脚本整理如下,请指点斧正一下:

  1. @echo off
  2. setlocal EnableExtensions
  3. set "wimFile=D:\yynTemp\boot-11.wim"

  4. :: 重要提醒
  5. echo. && echo.
  6. echo 重要提醒:
  7. echo =========
  8. echo. && echo 该程序需要以管理员身份运行,否则会出错!
  9. echo. && echo. && pause
  10. cls
  11. if not exist %wimFile% (
  12.     echo.
  13.     echo.
  14.     echo [错误] 找不到映像文件:%wimFile%
  15.     timeout /t 5 /nobreak >nul
  16.     exit /b 1
  17. )
  18. set "Build="
  19. for /f "tokens=2 delims=:" %%a in ('dism /English /Get-WimInfo /WimFile:"%wimFile%" /index:1^| findstr /b /c:"Version :"') do (
  20.         for /f "tokens=3 delims=." %%b in ("%%a") do set "Build=%%b"
  21.     )
  22. if not defined Build (
  23.     echo. && echo. && echo [错误] 无法读取 WIM 映像版本
  24.     echo.
  25.     pause
  26.     exit /b 1
  27. )
  28. if %Build% GEQ 22000 (
  29.     echo. && echo. && echo %wimFile% 版本是:Windows 11
  30.     echo.
  31.     pause && exit /b 11
  32. ) else (
  33.     echo. && echo. && echo %wimFile% 版本是:Windows 10
  34.     echo.
  35.     pause && exit /b 10
  36. )
复制代码



另外,下面两句代码不明白什么意思:

  1. set "WimFile=%~1"
  2. if not defined WimFile set "WimFile=%~dp0boot.wim"
复制代码


发表于 半小时前 | 显示全部楼层
本帖最后由 aloha20200628 于 2026-7-31 13:00 编辑

给一个简化的批处脚本如下,在 cmd 管理员窗口中运行即可...

test.bat
  1. @echo off &setlocal &set "wF=D:\yynTemp\boot-10.wim"
  2. for /f "tokens=2 delims=: " %%v in ('dism /English /Get-WimInfo /WimFile:"%wF%" /index:1 ^|findstr /b "Version" ') do (
  3.   set "v=%%v" &setlocal enabledelayedexpansion &set "v=!v:~,7!"
  4.   if "!v!" geq "10.0.22" echo,是win11桌面版本
  5.   if "!v!" geq "10.0.10" if "!v!" leq "10.0.19" echo,是win10桌面版本
  6.   endlocal )
  7. pause&exit/b
复制代码
发表于 16 分钟前 | 显示全部楼层
本帖最后由 aloha20200628 于 2026-7-31 13:10 编辑
766266yyn 发表于 2026-7-31 12:11
确实,以管理员运行脚本通过
非常感谢老师


再给一个调用 powershll 直接抓取版本号的批处脚本(仍须在 cmd 管理员窗口中运行)如下

test.bat
  1. @echo off &fltmc>nul 2>&1 || (powershell -c "start '%~f0' -verb runas" &exit/b)
  2. setlocal &set "wF=D:\yynTemp\boot-10.wim"
  3. if not exist "%wF%" exit/b
  4. for /f "delims=" %%v in ('powershell -c "Import-Module Dism;(Get-WindowsImage -ImagePath '%wF%' -Index 1).Version" ') do (
  5.   set "v=%%v" &setlocal enabledelayedexpansion &set "v=!v:~,7!"
  6.   if "!v!" geq "10.0.22" echo,是win11桌面版本
  7.   if "!v!" geq "10.0.10" if "!v!" leq "10.0.19" echo,是win10桌面版本
  8.   endlocal )
  9. pause&exit/b
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-7-31 13:10

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表