IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Différencier XP de NT dans un batch


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut Différencier XP de NT dans un batch
    Bonjour,

    J'ai besoin de connaitre dans un batch si l'on est sous XP ou sous NT.

    En fait sous XP , XCOPY doit avoir l'option /Y pour écraser des fichiers sans le prompt , alors que sous NT ce parametre n'est pas connu (d'ou erreur si je l'utilise). et comme je me sers de ce batch lors du login , je ne sais pas si je suis sur une bécane XP ou NT.

    merci de votre aide

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Ca va être difficiel parce que la variable %OS% afiche Windows_NT sous XP.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Ver

  4. #4
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Tien une boucle for pour utiliser le résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "tokens=3 delims= " %%i in ('ver') do (
      if "%%i"=="XP" echo Vous utilisez Windows XP
      if "%%i"=="NT" echo Vous utilisez Windows NT
    )

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut voici une solution ...
    hi

    merci pour votre aide , voici la solution que j'ai finalement trouvé (la boucle for .. n'avait pas l'air de fonctionner - j'ai pas compris pourquoi ?!) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if exist "c:\Documents and settings" echo XP
    if not exist "c:\Documents and settings" echo NT
    je sais c'est pas très joli ...

    merci pour votre aide

  6. #6
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Chez moi la boucle for focntionne parfaitement, mais je suis sous XP et je ne peut pas la tester sous NT.

    A tu NT a ta disposition ? si oui, peut tu me donner le résultat de la commande ver ?

    Windows NT na pas de session d'utiliosateur ?

  7. #7
    Vow
    Vow est déconnecté
    Membre éprouvé Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par défaut
    Citation Envoyé par eljoedaz Voir le message
    hi

    merci pour votre aide , voici la solution que j'ai finalement trouvé (la boucle for .. n'avait pas l'air de fonctionner - j'ai pas compris pourquoi ?!) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if exist "c:\Documents and settings" echo XP
    if not exist "c:\Documents and settings" echo NT
    je sais c'est pas très joli ...

    merci pour votre aide
    C'est pire que pas très joli.
    Ca pourrait fonctionner au cas où tu aies obligatoirement installé le système sur C: , ce qui n'est pas toujours le cas. Par contre, si tu veux vraiment exploiter ce genre de test, ça serait mieux d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if exist "%SystemDrive%\Documents and settings" echo 2000/XP
    if not exist "%SystemDrive%\Documents and settings" echo 9X/NT
    Sous Windows 2000 Pro, la boucle FOR fonctionne correctement si l'on ajoute la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if "%%i"=="2000" echo Vous utilisez Windows 2000

Discussions similaires

  1. Mettre en automatique un service dans un batch
    Par log1c dans le forum Windows
    Réponses: 1
    Dernier message: 02/12/2005, 12h23
  2. recuperer date dans un batch et la placer en variable
    Par Phenomenium dans le forum Windows
    Réponses: 6
    Dernier message: 07/06/2004, 10h44
  3. probleme d' echo dans un batch
    Par zorian dans le forum Windows
    Réponses: 16
    Dernier message: 18/05/2004, 17h21
  4. Réponses: 5
    Dernier message: 01/10/2003, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo