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 :

Problème avec %ProgramFiles(x86)% [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut Problème avec %ProgramFiles(x86)%
    Bonjour,

    Je souhaite créer un batch qui me copie un fichier dans le Program Files suite à la décompression d'une archive sfx et qui fonctionne sur les versions 32 et 64 bits de windows.

    Voilà le code que j'ai crée en m'aidant d'autres forums.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    c:
    cd c:\monarchive
    
    if %PROCESSOR_ARCHITECTURE% == AMD64 set strProgramFiles = %ProgramFlies(x86)%
    else set strProgramFiles = %ProgramFiles%
    
    md %strProgramFiles%\monapp
    cd  c:\monarchive\
    copy monapp.exe %strProgramFiles%\monapp\monapp.exe
    Il s'agit de tests que je fais dans le but de créer des installeurs avec WinRAR.

    Sauf que quand je lance le batch j'ai une erreur copy: la syntax est incorrecte. D'après notepad++ la variable %ProgramFiles(x86)% est incorrecte, il ne me la met pas en couleur, pire les parenthèses apparaissent en rouge (couleur normale des opérateurs numéraires).
    Je penses donc que la chaîne %ProgramFiles(x86)% est considérée comme une opération et non comme la valeur d'une variable. (Je suis sous windows7 64bits). Mais notepad++ peut se tromper.
    Pouvez-vous m'aider svp.

  2. #2
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    c:
    cd c:\monarchive
    
    if %PROCESSOR_ARCHITECTURE% ==AMD64 set strProgramFiles =%ProgramFlies(x86)%
    else set strProgramFiles =%ProgramFiles%
    
    md %strProgramFiles%\monapp
    copy monapp.exe "%strProgramFiles%\monapp\monapp.exe"
    essai ça

    si cela ne marche pas il faut savoir à quel niveau ça deconne du coup en version debug ça doit donner ça ^^ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    c:
    cd c:\monarchive
    
    if %PROCESSOR_ARCHITECTURE% ==AMD64 set strProgramFiles =%ProgramFlies(x86)%
    else set strProgramFiles =%ProgramFiles%
    echo strProgramFiles => %strProgramFiles%
    pause
    
    echo md %strProgramFiles%\monapp
    pause
    
    echo copy monapp.exe "%strProgramFiles%\monapp\monapp.exe"
    pause
    avec ça tu devrais t'en sortir

  3. #3
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut
    J'ai réussi avec ce code que j'ai trouvé sur un forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( 
        SET "strProgramFiles=%programfiles(x86)%" 
    ) 
    if not "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( 
        SET strProgramFiles=%programfiles% 
    )
    Edit: Merci gretch j'étais tellement dans mon truc que je n'avais pas vu ta réponse mais ça marche maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DymoAddIn.Open - problème avec x86 !
    Par Potus dans le forum C#
    Réponses: 0
    Dernier message: 20/01/2011, 17h31
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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