簡體   English   中英

如何從非活動驅動器的批處理腳本中確定 Windows 版本?

[英]How to determine Windows version from a batch script for an inactive drive?

如何通過不包含活動操作系統的驅動器的批處理腳本從 shell(命令提示符)獲取 Windows 的版本? 我希望有一些我可以測試的文件,但事實證明事情比我希望的要模糊一些。 這應該能夠確定從 2000 到 8.1 的所有 NT 版本的 Windows 版本。

你可以從“非活動的OS'驅動器”加載Windows注冊表並從中讀取它的版本:

這沒有經過測試,但它是這樣的:

set SYSTEM_DRIVE=D:
reg load "HKU\ttt" "%SYSTEM_DRIVE%\Windows\System32\config\SOFTWARE"
reg query "HKU\ttt\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName
reg unload "HKU\ttt"

我認為一個相當強大的方法是查看標准操作系統文件的文件版本元數據,例如%SystemRoot%\\ system32 \\ winver.exe。

我執行了以下操作(在命令提示符下): 'findstr /i "filever.sion" kernel32.dll > ver' 點是必需的,因為元數據是 unicode,因此 findstr 將忽略字母之間的零(點被“任何單個字符”的通配符)。 (參見:findstr /?)。 可以在記事本或某些仍支持“EDIT”、“EDIT /70 VER”的系統上檢查該片段。 output 仍然是 unicode,但可以使用編程 (f/e vbscript) 對其進行“美化”。 可以“按原樣”檢查原材料:文件 V e r sion 6. 1. 7 6 0 1. 1 9 1 3 5 ( win 7 sp 1 _ gd r. 1 6 0 1 2 1 - 1 7 1 8 ) 2. 谷歌搜索 windows 版本:me=4.9, 2000=5.0, xp=5.1, vista=6.0, 7=6.1, 8=6.2, 8.1=6.3, 10=10.0, (然后微軟推出了更多觸發,然后 11=21H2。(7601 是“內部版本”編號)以上摘自: https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM