Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[DOS] op basis van windows versie .bat aanroepen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo mede twekers,

ik ben bezig met een programma schrijven in dos. maar nu heb ik 1 versie voor Windows XP en de andere is voor Windows 2003. zijn de zelfde programma's alleen zijn ze werkend gemaakt voor de verschillende versies van windows. (dit programma staat op het netwerk)

nu wil ik een batch programma maken die kijkt welke versie er van windows draait en aan de hand daarvan de juiste versie van het batch programma opstart.

maar nu weet ik niet hoe ik het zo moet maken dat hij de windows versie checkt en dan het juiste programma opstart. weet iemand dit misschien?

alvast bedankt

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

iets met het commando "ver"?

[ Voor 36% gewijzigd door MTWZZ op 26-07-2007 15:34 ]

Nu met Land Rover Series 3 en Defender 90


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-11 01:01
Met for kun je de uitvoer van een opdracht regel voor regel (en zelfs woord voor woord als je dat wilt) benaderen.

for /f "usebackq tokens=*" %i IN (`ver`) DO echo %i

Oh en dit is niet "DOS".

[ Voor 7% gewijzigd door _js_ op 26-07-2007 15:38 ]


Verwijderd

Topicstarter
ja dan zie ik idd de windows versiue, maar dan heb ik er nog niks aan want aan de hand daarvan moet hij beslissen of hij de ene batch opstart of de andere.

en hoe doe ik dat?

ben al de hele tijd aan het pielen ;)

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Als ik het goed begrijp wil je 'in DOS' een 'programma' (volgens mij gewoon een batje?) maken waarmee je kunt zien welke versie van Windows je draait, en dus welke versie van een 'programma' (volgens mij ook een gewoon batje?) je moet starten?

As always, Google is your friend. Gebruik VER om de versie van je operating system te krijgen, en zoek daarin naar specifieke woorden.

My personal website


Verwijderd

Topicstarter
_js_ schreef op donderdag 26 juli 2007 @ 15:37:
Met for kun je de uitvoer van een opdracht regel voor regel (en zelfs woord voor woord als je dat wilt) benaderen.

for /f "usebackq tokens=*" %i IN (`ver`) DO echo %i

Oh en dit is niet "DOS".
dit werkt niej :'(

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-11 01:01
dat werkt wel :)

Verwijderd

Topicstarter
OZ-Gump schreef op donderdag 26 juli 2007 @ 15:38:
Als ik het goed begrijp wil je 'in DOS' een 'programma' (volgens mij gewoon een batje?) maken waarmee je kunt zien welke versie van Windows je draait, en dus welke versie van een 'programma' (volgens mij ook een gewoon batje?) je moet starten?

As always, Google is your friend. Gebruik VER om de versie van je operating system te krijgen, en zoek daarin naar specifieke woorden.
dat die ik al, maar het lukt voor geen meter, omdat VER een te basic commando is die geen errorlevel mee geft waardoor ik er niks mee kan.

  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Afgezien van het feit dat Windows XP bedoeld is als desktop OS en Windows 2003 als server OS, zijn er in feite weinig verschillen tussen de twee Windowsversies. In principe zou software die onder Windows 2003 draait gewoon moeten kunnen draaien op Windows XP, en vice versa.

Hoe komt het dat jouw XP-versie niet werkt met 2003 en de 2003-versie niet met XP?

Verwijderd

Topicstarter
seriues?? bij mij slaat me batje af^^

Verwijderd

Topicstarter
Zr40 schreef op donderdag 26 juli 2007 @ 15:40:
Afgezien van het feit dat Windows XP bedoeld is als desktop OS en Windows 2003 als server OS, zijn er in feite weinig verschillen tussen de twee Windowsversies. In principe zou software die onder Windows 2003 draait gewoon moeten kunnen draaien op Windows XP, en vice versa.

Hoe komt het dat jouw XP-versie niet werkt met 2003 en de 2003-versie niet met XP?
winxp %user% is in windows 2003 %username% :)
winxp %date% is ook anders in win2003, in 2003 geeft hij ook nog 3 letters van de dagen mee

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Verwijderd schreef op donderdag 26 juli 2007 @ 15:41:
[...]


seriues?? bij mij slaat me batje af^^
:') ! Tuurlijk, als het programma beindigd is. Open het eens via CMD.

Going for adventure, lots of sun and a convertible! | GMT-8


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-11 01:01
Die echo wil je natuurlijk vervangen door iets anders, misschien een goto naar een label, en daar controleren wat er in %i staat?

Maar het laat in ieder geval zien dat je je windows versie in een variabele kunt krijgen. En het werkt in zowel xp als 2003.

Verwijderd

Topicstarter
Snake schreef op donderdag 26 juli 2007 @ 15:42:
[...]

:') ! Tuurlijk, als het programma beindigd is. Open het eens via CMD.
error die ik krijg in CMD

IN was unexpeted at this time

PS. jullie gaan te snel ik hou het niet bij^^

[ Voor 8% gewijzigd door Verwijderd op 26-07-2007 15:46 ]


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
Snake schreef op donderdag 26 juli 2007 @ 15:42:
[...]

:') ! Tuurlijk, als het programma beindigd is. Open het eens via CMD.
Je moet %%i gebruiken in plaats van %i, dan werkt het wel.

Verwijderd

Topicstarter
Mastermind schreef op donderdag 26 juli 2007 @ 15:46:
[...]

Je moet %%i gebruiken in plaats van %i, dan werkt het wel.
sorry had een typo gemaakt

met dit: for /f "usebackq tokens=*" %i IN (`ver`) DO echo %i

krijg ik echo ver als antwoord, snap er niks meer van, jullie zijn veels te slim

Verwijderd

Topicstarter
is er niet iets zoals:

IF VER EQU Miscrosoft Windows XP [Version 5.1.2600] GOTO LABEL

dit werkt natuurlijk niet, maar kan zoiets??

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Verwijderd schreef op donderdag 26 juli 2007 @ 15:50:
is er niet iets zoals:

IF VER EQU Miscrosoft Windows XP [Version 5.1.2600] GOTO LABEL

dit werkt natuurlijk niet, maar kan zoiets??
Kijk eens naar de eerste link die ik je gehint heb in mijn eerste post in dit draadje. Daar staan verwijzingen naar artikelen waarin precies staat hoe je dat kunt doen.

My personal website


  • Zr40
  • Registratie: Juli 2000
  • Niet online

Zr40

Moderator General Chat

heeft native IPv6

Waarom schrijf je uberhaupt je programma in batchfiles? Als er iets onderhevig aan verandering is tussen Windowsversies is het dat wel. Om dan nog maar niet te spreken van echte foutafhandeling, laat staan het gebruik van libraries.

[ Voor 27% gewijzigd door Zr40 op 26-07-2007 15:52 ]


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
Type dit maar over:

copy con test.bat
@echo off
for /f "usebackq tokens=*" %%i IN (`ver`) DO echo %%i
^Z (CTRL-Z)

Verwijderd

Topicstarter
OZ-Gump schreef op donderdag 26 juli 2007 @ 15:51:
[...]

Kijk eens naar de eerste link die ik je gehint heb in mijn eerste post in dit draadje. Daar staan verwijzingen naar artikelen waarin precies staat hoe je dat kunt doen.
oops sorry, maar je had hem verstopt^^

en trouwens met dit:

met dit: for /f "usebackq tokens=*" %i IN (`ver`) DO echo %i

krijg ik me versie te zien in een variabele, dat is al heel wat, wooohoooo^^

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 00:03
Zie bijv dit: http://malektips.com/xp_dos_0025.html

Precies wat jij wil, ipv een echo start jij een programma voor de betreffende windows versie :)

[ Voor 49% gewijzigd door Puch-Maxi op 26-07-2007 15:59 ]

My favorite programming language is solder.


Verwijderd

Topicstarter
OZ-Gump schreef op donderdag 26 juli 2007 @ 15:51:
[...]

Kijk eens naar de eerste link die ik je gehint heb in mijn eerste post in dit draadje. Daar staan verwijzingen naar artikelen waarin precies staat hoe je dat kunt doen.
jij bent egt geniaal:D het werkt:D vette shit
Mastermind schreef op donderdag 26 juli 2007 @ 15:52:
Type dit maar over:

copy con test.bat
@echo off
for /f "usebackq tokens=*" %%i IN (`ver`) DO echo %%i
^Z (CTRL-Z)
dit ga ik ook nog ff proberen:D
super vet, dit ook weer, dankjewel

ik heb egt een uur lopen googlen en heb niks kunnen vinden, jullie zijn geweldig. dankjewel. ik denk dat deze topic gesloten mag worden.

[ Voor 22% gewijzigd door Verwijderd op 26-07-2007 15:59 ]


  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 00:03
we willen het resultaat nog even zien natuurlijk ;)

My favorite programming language is solder.


Verwijderd

Topicstarter
Puch-Maxi schreef op donderdag 26 juli 2007 @ 16:01:
we willen het resultaat nog even zien natuurlijk ;)
ok hier komt het dan^^


@ECHO OFF

ver | find "5.2.3790" > nul
if %ERRORLEVEL% == 0 GOTO WIN2003

ver | find "5.1.2600" > nul
if %ERRORLEVEL% == 0 goto WINXP

:WIN2003
CALL G:\BA\ZIP_Utils\BeZipped\Bin\Bezipped_2003.bat
EXIT

:WINXP
CALL G:\BA\ZIP_Utils\BeZipped\Bin\Bezipped_XP.bat
EXIT

en nu niet gaan zeggen dat het fout is he ^^

ik heb trouwens de versie nummers gebruikt omdat de VER bij windows 2003 geen windows 2003 weergaf maar gewoon windows. veranderen die versie nummers ook wel eens? bij service packs en patches enzo? ik vrees namelijk van wel

[ Voor 17% gewijzigd door Verwijderd op 26-07-2007 16:10 ]


  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 00:03
tja het is zeer goed mogelijk dat deze na bijv een SP veranderen.

My favorite programming language is solder.


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Build numbers veranderen na release niet meer, Servicepack identifiers staan daar tegenwoordig ook achter.
Maar goed, zo zijn er tig manieren om OS versies uit te lezen.
Het verbaast me dat je niks werkends gevonden had tot nu toe, want ik struikel over de voorbeelden met wat google werk.

[ Voor 46% gewijzigd door alt-92 op 26-07-2007 16:33 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Verwijderd

is het niet veel makkelijker om het scriptje in kixtart te maken?

Gebruik ik hier ook voor een redelijk complex loginscriptje met allerlij if constructies afhankelijk van je usergroup, macadress en nog paar dingen. Best handig taaltje, kan een stuk meer als standaard batchscripting.
Pagina: 1