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 XP Discussion :

BATCH DOS => Utilisation de variables ?


Sujet :

Windows XP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 55
    Points
    55
    Par défaut BATCH DOS => Utilisation de variables ?
    Bonjour,

    Je voudrais effectuer une copie de fichier avec le ficheir suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    cls
    set source = "K:\xxx xx xxxxxx xx xx xxxxxxé xx xx xx xxxxxx xxxxxée\xéxxxxxxxxx xxxxxs\xxxx\xxxxxxxx\xxx\xxxx_xxxxxxx_xxxxx_xxxxxxxx.mdb"
    set destination = "E:\xxxxxx\xxxxxxxxxxxxxxxxxxx\xxxxxxxxxxxxxxx\xxxx_xxxxxxx_xxxxx_xxxxxxxx.mdb"
    copy /y %source% %destination%
    Cependant, j'ai l'erreur suivante :
    La syntaxe de la commande est incorrecte.
    Savez-vous pourquoi ?

    Comment puis-je faire marcher ce *.cmd ?

    Merci,
    Mathieu

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut
    D'après mes vieux souvenirs, il ne faut pas mettre d'espaces autour du signe =

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    J'ai donc enlevé mes espaces, mais j'ai la même erreur.

    Merci,
    Mathieu

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Enlève (ou mets en commentaire) le @echo off au début de ton batch pour voir comment les variables sont traitées, tu trouveras peut-être plus facilement l'origine de l'erreur

  5. #5
    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
    Bizarre j'ai testé chez moi ceci :
    @echo off
    set FICHIER1="fichier.txt"
    set FICHIER2="fichier2.txt"
    copy /y %FICHIER1% %FICHIER2%
    ... et ça fonctionne correctement

  6. #6
    Membre chevronné Avatar de Nemesys
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 895
    Points : 2 100
    Points
    2 100
    Par défaut
    Ca correspond à quoi "cls" ? Tu ne ferais pas mieux de l'enlever ?

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    cls c'est pour effacer l'écran... (c'est pas génant) ..

    enléve l'espace après le nom de la variable et le % d'aprés dans la ligne copy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    cls
    set source= "K:\xxx xx xxxxxx xx xx xxxxxxé xx xx xx xxxxxx xxxxxée\xéxxxxxxxxx xxxxxs\xxxx\xxxxxxxx\xxx\xxxx_xxxxxxx_xxxxx_xxxxxxxx.mdb"
    set destination= "E:\xxxxxx\xxxxxxxxxxxxxxxxxxx\xxxxxxxxxxxxxxx\xxxx_xxxxxxx_xxxxx_xxxxxxxx.mdb"
    Copy /y %source %destination
    pause

  8. #8
    Membre confirmé
    Avatar de heinquoi
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 85
    Points : 491
    Points
    491
    Par défaut
    salut,
    dans ma doc batch, j'ai
    Pour lire le contenu d’une variable, on l’encadre de deux « % ». Ces deux signes
    indiquent à l’interpréteur qu’il doit remplacer le nom de la variable par son contenu.
    Si la variable n’existe pas, aucune erreur n’est affichée, mais la variable est
    remplacée par une chaîne de caractères nulle.
    consernant cls, je ne la crois pas en cause ( a moins d'etre un lendemain de coupe du moude et d'etre encore peté parce que y a que 3 lettres) mais bon tu peux la retiré.

    je te propose 2 test:

    *1* tu fait un batch avec une seul ligne: copy /y c:\config.sys c:\conf2.txt
    *2* tu fait un batch avec une seul ligne : copy /y "ton\chemin\a\toi" "atoi\lechemin\"

    A mon avis ca plante a ce niveau a cause ... des police de caractère et des accents.
    as tu fait un copié collé pour le chemin des fichiers ?
    il y a t-il des accents ou des espaces dans le nom des fichiers ?

Discussions similaires

  1. [BATCH DOS] Utilisation de IF pour valider réponse utilisateur
    Par manu789 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 04/10/2008, 13h42
  2. [DOS] Utiliser plusieurs variables
    Par loriane45 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 13/03/2007, 16h10
  3. [DOS] Utiliser une variable
    Par loriane45 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 02/03/2007, 10h41
  4. Création d'un CD Rom ms-dos pour utiliser un fichier batch
    Par Lorponos dans le forum Périphériques
    Réponses: 36
    Dernier message: 25/04/2006, 15h32
  5. Réponses: 5
    Dernier message: 01/10/2003, 16h03

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