Avatar billede benny_thomsen Nybegynder
17. juli 2003 - 11:12 Der er 10 kommentarer og
1 løsning

bat fil programmering - IF OS= XX THEN ELSE GOTO :END

Hej venner,
Jeg sidder og bøvler med et logonscript.
Det skal kunne afgøre om brugeren er logget på en NT mask. eller en 2000.
Hvorfor? :-) jeg har flere nye tiltag på 2000 siden som melder fejl når der startes op på NT, dem vil jeg kunne undgå hvis loginfilen afgører om det eller det skal køres..

mvh.
Benny
Avatar billede soreno Praktikant
17. juli 2003 - 11:16 #1
Hmmm. Jeg tror du skal have et eksternt program til hjælp.

Kig evt. selv hvad:
echo %OS%

udskriver.

Hos mig (win2k) skriver den:
Windows_NT

Og det er jo ikke specielt anvenligt..

Jeg kan godt lave sådan et eksternt program til dig hvis du vil bruge den løsning.
Avatar billede b.b Nybegynder
17. juli 2003 - 11:17 #2
kan man ikke sætte den til at søge på OS specifikke filer, og så sætte nogele IF sætninger op for hendholdsvis NT eller 2000....???
Avatar billede soreno Praktikant
17. juli 2003 - 11:28 #3
Måske, men jeg vil ikke mene det er en god løsning.
Jeg forestillede mig at skulle teste på versions nummeret på Windows.

5.1.2600 = Windows XP
5.0.2195 = Windows 2000
4.10.1998 = Windows 98
4.10.2222 = Windows 98 SE
4.90.3000 = Windows ME
4.0.1381 = Windows NT 4.0
Avatar billede soreno Praktikant
17. juli 2003 - 11:31 #4
Test lige om output er ens med ovenstående tabel.

http://soreno.dk/temp/os_ver.zip
Avatar billede benny_thomsen Nybegynder
17. juli 2003 - 11:31 #5
soreno:
Jeg ved godt hvilke maskiner der kører NT og hvilke der kører 2000.
Problemet er at mine brugere skifter lokale og dermed også OS...
- så jeg skal bruge noget lign..

IF OS = WIN2000 THEN
"kør dette"
ELSE GOTO :END
:END
Avatar billede soreno Praktikant
17. juli 2003 - 11:34 #6
Bat filen vil så komme til at se nogenlunde sådan ud:

getosver.exe
if errorlevel 2 goto win2k
if errorlevel 1 goto winnt

win2k:
rem do stuff
goto end

winnt:
rem do stuff
goto end

end:
rem do stuff
Avatar billede benny_thomsen Nybegynder
17. juli 2003 - 11:40 #7
ok, ser rigtigt ud, men hvor får jeg fat i getosver.exe
- og - skal du ha' point, skal du nok sende det som SVAR :-)
Avatar billede soreno Praktikant
17. juli 2003 - 11:41 #8
"men hvor får jeg fat i getosver.exe"

Den er jeg ved at lave..

Regner med at være færdig om 5-10 minutter.

:-)
Avatar billede benny_thomsen Nybegynder
17. juli 2003 - 11:43 #9
okay, - respekt.
kunne du så ikke lige 'proppe' XP med ind i den?
Avatar billede soreno Praktikant
17. juli 2003 - 11:57 #10
http://soreno.dk/files/os_ver.zip

osver.exe
if errorlevel 6 goto winxp
if errorlevel 5 goto win2k
if errorlevel 1 goto winnt

[..]


Programmet bruger disse værdier:
Errorlevel = 1 - Windows NT (4.0.1381)
Errorlevel = 2 - RESERVED FOR WINDOWS 95 (please report this number to me!)
Errorlevel = 3 - Windows 98 (4.10.1998 and 4.10.2222)
Errorlevel = 4 - Windows ME (4.90.3000)
Errorlevel = 5 - Windows 2000 (5.0.2195)
Errorlevel = 6 - Windows XP (5.1.2600)


Prøv lige at teste det (har ikke selv prøvet i en bat fil endnu, men teoretisk skulle det virke).
Avatar billede soreno Praktikant
17. juli 2003 - 13:03 #11
Hov. Det her er da meget nemmere:

ver|find "XP"
if not errorlevel 1 goto winxp

ver|find "2000"
if not errorlevel 1 goto win2k

ver|find "NT"
if not errorlevel 1 goto winnt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester