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

Windows Discussion :

Problème de batch deux instructions sur la même ligne


Sujet :

Windows

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Problème de batch deux instructions sur la même ligne
    Bonjour le forum,

    J’ai créé un bat qui me permet de vérifier si un dossier existe dans c:\logof$.

    Si il n’existe PAS, il crée un dossier avec le nom d’utilisateur.

    Si il existe, je demande de créer un nouveau dossier (Double.Use.%username%) et de faire un logoff.

    En plus de ça, un script au logoff efface le dossier nom d’utilisateur mais laisse Double.Use.%username%

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off 
    
    REM Logon 
    
    if exist c:\logon$\%username% md c:\logon$\DOUBLE.USER.%username% shutdown -f -l
    md c:\logon$\%username%
    Le problème est que je n’arrive pas à mettre deux instructions sur la même ligne donc la première instruction est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    md c:\logon$\DOUBLE.USER.%username%
    et la deuxième est Lorsque le dossier user existe, il crée un dossier Double.User.%username% + un dossier shutdown + -f + -1

    J’ai aussi essayé de mettre shutdown -f –l mais il me fait un shutdown à chaque fois alors.

    Je suis sure que ça fonctionne vue que j’y étais arrivé mais j’ai ajouté des REM et depuis il fonctionne plus, j’ai donc supprimé toutes les lignes de REM (remarques) mais ça fonctionne plus.

    J’espère que vous pourrez m’aider.

    Merci d’avance et bonne soirée.

    Bgs

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour

    Il faut utiliser des étiquettes et des goto comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    ...
    if exist monfichier goto etiquette1
    if exist autrefichier goto etiquette2
    
    echo monfichier et autrefichier non trouvés
    goto fin
    
    :etiquette1
    echo monfichier trouve
    goto fin
    
    :etiquette2
    echo monfichier non trouvé mais autrefichier trouvé
    
    :fin
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Utilise le caractère '&' pour exécuter 2 ou + instructions sur une même ligne.

    Il existe d'autre caractères spéciaux, consulte l'aide en ligne, recherche 'interpréteur' puis sélectionne l'entrée :
    'Vue d'ensemble de l'interpréteur de commandes'.
    Bonne lecture

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Autre solution : utiliser les parenthèses pour créer un bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if exist c:\logon$\%username% @(
    	md c:\logon$\DOUBLE.USER.%username%
    	shutdown -f -l
    )
    a++

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Juju_41
    Bonjour

    Il faut utiliser des étiquettes et des goto comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    ...
    if exist monfichier goto etiquette1
    if exist autrefichier goto etiquette2
    
    echo monfichier et autrefichier non trouvés
    goto fin
    
    :etiquette1
    echo monfichier trouve
    goto fin
    
    :etiquette2
    echo monfichier non trouvé mais autrefichier trouvé
    
    :fin
    Bonjour,

    Merci pour cette réponse.

    J'en prend bien note

    Bgs

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Utilise le caractère '&' pour exécuter 2 ou + instructions sur une même ligne.

    Il existe d'autre caractères spéciaux, consulte l'aide en ligne, recherche 'interpréteur' puis sélectionne l'entrée :
    'Vue d'ensemble de l'interpréteur de commandes'.
    Bonne lecture
    Bonjour,

    Merci pour l'astuce ! c'est pour moi la façon la plus simple !

    Merci encore

    Bgs

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par adiGuba
    Salut,

    Autre solution : utiliser les parenthèses pour créer un bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if exist c:\logon$\%username% @(
    	md c:\logon$\DOUBLE.USER.%username%
    	shutdown -f -l
    )
    a++
    Salut,

    Merci pour ta réponse !

    Un peu plus compliqué mais ça reste quand même intéressant.

    Merci encore.

    bgs

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

Discussions similaires

  1. comment écrire plusieurs instructions sur une même ligne ?
    Par Ekimasu dans le forum Général Python
    Réponses: 3
    Dernier message: 31/10/2008, 10h30
  2. Positions de deux div sur la même ligne
    Par kabkab dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 18/06/2008, 16h19
  3. Réponses: 4
    Dernier message: 11/04/2008, 12h56
  4. Comment disposer deux formulaires sur la même ligne ??
    Par soad029 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/05/2007, 04h14
  5. Comment positionner deux blocs sur la même ligne
    Par yaya0057 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 27/02/2007, 16h42

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