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 :

définir utilisateur if %


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 68
    Par défaut définir utilisateur if %
    Bonjour,

    Je souhaite rajouter en amont d'un de mes scripts une condition afin de déterminer sur quel ordinateur il s'execute afin d'attribuer des variables de répertoire.

    mon script se présente sous cette forme :
    si %NOMutilisateur% == "TOTO" alors ( repertoireInstallation= c:\repertoire\installation)
    si %NOMutilisateur% == "TATA" alors ( repertoireInstallation= c:\repertoire\InstaLLation)
    copie FICHIER.jpg %repertoireInstallation%Fich.jpg

    Je tiens à préciser que j'ai volontairement homis les guillemets pour les répertoires pour avoir un résultat \repertoireInstallation\Fich.jpg et non pas "repertoireInstallation\"Fich.jpg
    alors de une je suis pas certain que le script apprécie cette syntaxe, mais là à priori j'ai l'impression qu'il reste coincé dans la première condition, j'ai un message d'erreur disant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BROBRO== "TOTO" set repertoireInstallation= c:\repertoire\installation 
    >
    \BoutDerepertoire était inattendu.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Essaie comme ça :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if /I "%hostname%"=="TOTO" (set "repertoireInstallation=c:\repertoire\installation")
    if /I "%hostname%"=="TATA" (set "repertoireInstallation=c:\repertoire\InstaLLation")
    copy "FICHIER.jpg" "%repertoireInstallation%\Fich.jpg"

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 68
    Par défaut
    Alors il y'a une amélioration mais néanmoins il ne semble pas enregistrer la variable.
    Il me retourne :

    ECHO
    ECHO est activée

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Dans ce cas il faut activer l'expansion retardée des variables :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    setlocal enabledelayedexpansion
    if /I "%hostname%"=="TOTO" (set "repertoireInstallation=c:\repertoire\installation")
    if /I "%hostname%"=="TATA" (set "repertoireInstallation=c:\repertoire\InstaLLation")
    copy "FICHIER.jpg" "!repertoireInstallation!\Fich.jpg"

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 68
    Par défaut
    Merci pour le coup de main, Effectivement il semble y'avoir une évolution positive avec les "!"
    maintenant le message d'erreur me dit que le "chemin d'accès spécifié est introuvable ", Echo !repertoireCarte! retourne bien le bon répertoire donc j'en déduis que que c'est le lien UNC qui pose souci ?

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    setlocal enabledelayedexpansion
     
    if /I "%computername%"=="P03" (
        set "repertoireCarte=C:\Users\solevita\Desktop\Repertoire_test\"
        echo OK!!!!!
    ) else ( echo erreur )
     
    copy "\\Srv01c\Partages$\GCE\fichier.gcm" "!repertoireCarte!fichier.gcm"

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Je pense que la commande COPY ne supporte pas les chemins UNC, mais tu peux utiliser ROBOCOPY.

Discussions similaires

  1. Comment définir les droits d'accès d'un utilisateur ?
    Par Klemsy78 dans le forum Langage
    Réponses: 17
    Dernier message: 12/07/2015, 22h12
  2. Réponses: 7
    Dernier message: 29/02/2008, 19h23
  3. Réponses: 3
    Dernier message: 30/08/2007, 15h41
  4. définir des niveaux d'utilisateurs
    Par ryoussef19 dans le forum Visual C++
    Réponses: 5
    Dernier message: 18/05/2007, 16h16
  5. [USER] Comment définir le nom d'utilisateur ?
    Par narmataru dans le forum NetBeans
    Réponses: 4
    Dernier message: 27/12/2006, 09h30

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