Kezdőoldal > General > OS Version

OS Version


Az elozo (Net share on Win98 2. resz) cimu bejegyzesben azzal fejeztem be, hogy most mar a .reg allomanyokat csak ki kell publikaljam a gepeknek. Igen am, de felmerult a kerdes, hogy ezt hogyan tudnam csak a Win 98-as gepekre feltenni (hiszen az – egyetlen – XP-n mar alapbol van C$)?
 
Nos, egy fel napos neten torteno keresgeles utan eloallt az a script, ami lekerdezi az op. rendszer verziojat – s tobb scriptbol osszevagva sikerult egy altalanos verziot osszedobni. Igaz, nem sikerult minden verzion tesztelni (pl. nem vagyok biztos, hogy a Windows 3.x-eket korrektul felismeri), de a ket legfontosabb (Win 9x/Win NT) megvan. S a jovore nezve van felbontva minden op.rendszerre – a hasznalat
soran pedig ossze lehet oket vonni. S felteteleztem, hogy DOS/Win 3.x-et nem is akarunk hasznalni.
 
A SETLOCAL parancs ertelmet nem igazan latom, akar rem-elve van, akar nincs, nem sok kulonbseget latok. Az igazi igy, ebben a formaban lenne, ha rem-eles eseten az %OS% valtozot beallitana megfeleloen…
 
A script:
 
@ECHO OFF
CLS
ECHO Verifying OS version
rem SETLOCAL
REM Detect the operating system and go to the appropriate segment
IF ‘%OS%’==’Windows_NT’ GOTO Cont
SET windir=
SET windir=
IF ‘%windir%’==” GOTO DOS
IF ‘%OS%’==” IF ‘%windir%’==” GOTO Win_3x
IF ‘%OS%’==” GOTO Cont
GOTO End
:Cont
VER | find "NT" > nul
IF not errorlevel 1 GOTO Win_NT
VER | find "2000" > nul
IF not errorlevel 1 GOTO Win_2K
VER | find "XP" > nul
IF not errorlevel 1 GOTO Win_XP
VER | find "98" > nul
IF not errorlevel 1 GOTO Win_98
VER | find "95" > nul
IF not errorlevel 1 GOTO Win_95
VER | find "Millennium" > nul
IF not errorlevel 1 GOTO Win_ME
GOTO DOS
REM client is running DOS
:DOS
SET OS=DOS
ECHO.
ECHO This is DOS Client
ECHO.
GOTO End
:Win_3x
SET OS=Windows_3.x
ECHO.
ECHO This is w3x Client
ECHO.
GOTO End
:Win_95
SET OS=Windows_95
ECHO.
ECHO This is w95 Client
ECHO.
GOTO RunScript
:Win_98
SET OS=Windows_98
ECHO.
ECHO This is w98 Client
ECHO.
GOTO RunScript
:Win_ME
SET OS=Windows_Millenium
ECHO.
ECHO This is wme Client
ECHO.
GOTO RunScript
:Win_NT
ECHO.
ECHO This is wnt Client
ECHO.
GOTO RunScript
:Win_2K
ECHO.
ECHO This is w2k Client
ECHO.
GOTO RunScript
:Win_XP
ECHO.
ECHO This is wxp Client
ECHO.
GOTO RunScriptXP
REM run the logon script for Windows 9x/ME/NT/2K
:RunScript
ECHO.
ECHO Loading Logon Script, Please Wait…
ECHO.
GOTO End
REM run the logon script for Windows XP
:RunScriptXP
ECHO.
ECHO Loading Logon Script, Please Wait…
ECHO.
:End
ECHO.
ECHO Finishing Login…
 
Rem pause
 
Ha viszont csak az kell (mint ami kell most), hogy Win 9x vagy Win NT, akkor eleg ez:
 
IF ‘%OS%’==’Windows_NT’ GOTO WinNT
 
Ez termeszetesen feltetelezi, hogy nem DOS es nem Win 3.x-rol beszelunk. No de egy tartomanyban gondolom minimalisan ez teljesul…
S ez a script azert jo, mert a masik helyen ugye attol fuggoen, hogy melyik verzio, attol fuggoen kell a Symantec frissitest masolni – de ez egy masik tortenet.
 
Egy masik lekerdezesi mod, hogy a "Version 4"-et keressuk – s akkor valoban a W9x/Me a vegeredmeny.
 
Advertisements
Kategóriák:General
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: