Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les espaces avec cmd et les fichiers .bat

Windows

Sujet résolu
    23 juillet 2019 à 8:05:20

    Bonjour

    Je veux écrire un script exécuté par cmd et qui appelle un autre script.

    Je veux passer des noms de dossiers avec des espaces d'un script à l'autre.

    Par exemple: Program Files (x86)

    La liste des noms dans le premier script est dans un for ...

    Dans le second script, le nom estt passé à xcopy.

    Si je les met entre guillemets, cela passe bien, mais xcopy n'interprète pas bien.

    Si je fais set file=%~1, xcopy ne reconnais pas le nom.

    Merci pour toute astuce.

    • Partager sur Facebook
    • Partager sur Twitter

    Le Tout est souvent plus grand que la somme de ses parties.

      26 juillet 2019 à 2:45:38

      Bonjour

      En fait, dans ce cas, il faut éviter d'utiliser le tilde ~ pour enlever les guillemets.

      Finalement xcopy reconnait bien le nom.

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        10 septembre 2019 à 2:05:41

        En fait, la solution est la suivante:
        1. Je met le nom entre les "..." dans le script qui appelle l'autre.
        2. J'utilise %~ pour enlever les " dans le nom dans le script appelé.
        3. J'appelle xcopy en plaçant le nom entre "...", genre xcopy "%file%" ...
        • Partager sur Facebook
        • Partager sur Twitter

        Le Tout est souvent plus grand que la somme de ses parties.

        Les espaces avec cmd et les fichiers .bat

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown