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

Utiliser XCOPY en batch


Sujet :

Windows 7

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Utiliser XCOPY en batch
    Bonjour,
    je crée actuellement un script en Batch & AutoIt pour installer des Skins dans le jeu Team Fortress 2 sur Steam.

    Pour installer les skins, je dois copier deux dossiers (et leurs sous-dossiers) et écraser/créer les dossiers/fichiers manquants.

    J'arrive à copier vers un dossier simple comme "C:\temp" ou mes documents.
    Mon script écrase/crée tout comme il faut.

    voila les lignes pour copier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    set TARG=%ProgramFiles%\Steam\SteamApps
    
    XCOPY ".\Data\materials\" "%TARG%\%account%\Team Fortress 2\tf\TESTmaterials\" /D /E /C /R /H /I /K /Y
    
    XCOPY ".\Data\models\" "%TARG%\%account%\Team Fortress 2\tf\TESTmodels\" /D /E /C /R /H /I /K /Y
    Note: "account" est défini plus tôt via
    Le truc est qu'il me retourne :
    "Chemin d’acces non valide"

    Auriez-vous une idée ?

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Bonsoir

    Je pense que la commande XCOPY ne support pas les espaces dans le chemin.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 749
    Points
    9 749
    Par défaut
    Le probleme que tu rencontres, est que tu as mis des variables (%VAR%) entre guillemets.

    Il faut que tu écrives un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XCOPY ".\Data\materials\" ""%TARG%""\""%account%""\Team Fortress 2\tf\TESTmaterials\" /D /E /C /R /H /I /K /Y
    Enfin, là j'ai pas tester, mais il faut double-quoter les variables, je pense.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par JML19 Voir le message
    Bonsoir

    Je pense que la commande XCOPY ne support pas les espaces dans le chemin.
    C'est ce que je crains, mais d'après mes recherches, les quotes devraient régler ça mais peut-être pas en fait :/

    Citation Envoyé par Jon Shannow Voir le message
    Le probleme que tu rencontres, est que tu as mis des variables (%VAR%) entre guillemets.

    Il faut que tu écrives un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XCOPY ".\Data\materials\" ""%TARG%""\""%account%""\Team Fortress 2\tf\TESTmaterials\" /D /E /C /R /H /I /K /Y
    Enfin, là j'ai pas tester, mais il faut double-quoter les variables, je pense.
    je doute fortement que des "doubles-quotes" fasse quoi que se soit, mais j'ai testé, et ça me donne une nouvelle erreur, voici ce qu'il m'affiche quand le bat est lancé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Users\NnSz\Documents\Skinpackinstaller>XCOPY ".\Data\materials\" ""C:\Program Files\Steam\SteamApps""\""monpseudo""\Team Fortress 2\tf\TESTmaterials\" /D /E /C /R /H /I /K /Y
    Erreur d'analyse

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Excusez moi de re-poster, mais ce problème bloque tout mon projet,
    je souhaiterais vraiment une solution ou des conseil, ou au moins un avis.

  6. #6
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Bonjour

    As-tu fait un essai en supprimant les espaces ?

    Fais un test avec un chemin plus simple sans espace dans le nom du chemin et avec une variable.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par JML19 Voir le message
    Fais un test avec un chemin plus simple sans espace dans le nom du chemin et avec une variable.
    J'ai essayé de copier depuis ".\Data\materials\" vers "C:\temp\X" et tout marche comme il faut, l'arborescence et tous les fichiers.

    Citation Envoyé par JML19 Voir le message
    As-tu fait un essai en supprimant les espaces ?
    En supprimant les espaces le chemin n'est plus le même car le dossiers a des espaces, sans ce n'est pas le même dossier :/

    Comme prévu, il me retourne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin d'acces non-valide

  8. #8
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Si tu gardes les espaces je ne pas suis sur que tu arrives à faire fonctionner la commande XCOPY le DOS est têtu.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par JML19 Voir le message
    Si tu gardes les espaces je ne pas suis sur que tu arrives à faire fonctionner la commande XCOPY le DOS est têtu.
    Comment dois-je pointer vers ce dossier alors ?
    Il y a t-il une autre manière de pointer vers un dossier avec espace ?

    Si non, existe-il une autre commande pour copier un dossier, son arborescence et ses fichier vers un autre dossier, et de créer les dossiers non-existant ?

    Au pire des cas, est-ce possible dans un autre langage ?
    (un langage pas trop compliqué, si possible)

  10. #10
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    As-tu fait un essai avec le nom DOS de ton nom long avec un dir sous DOS tu dois le voir.

    Tu fais un CD sous DOS pour voir si tu accèdes avec le nom DOS dans ce répertoire.

    Par exemple :

    Ceci ===> C:\WINDOWS\All users\Application Data\AOL\C_AOL 9.0a,
    Donne cela ===> C:\Windows\Alluse~1\Applic~1\AOL\C_AOL9~1

    Tu peux faire CD c:\windows\alluse~1 pour voir si tu vas bien dans le bon dossier.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par JML19 Voir le message
    As-tu fait un essai avec le nom DOS de ton nom long avec un dir sous DOS tu dois le voir.

    Tu fais un CD sous DOS pour voir si tu accèdes avec le nom DOS dans ce répertoire.

    Par exemple :

    Ceci ===> C:\WINDOWS\All users\Application Data\AOL\C_AOL 9.0a,
    Donne cela ===> C:\Windows\Alluse~1\Applic~1\AOL\C_AOL9~1

    Tu peux faire CD c:\windows\alluse~1 pour voir si tu vas bien dans le bon dossier.
    Je viens de faire le test,
    CA MARCHE !!!

    je compte utiliser ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set TARG=C:\PROGRA~2\Steam\SteamApps
    
    XCOPY ".\Data\materials" "%TARG%\%account%\TEAMFO~1\tf\TESTmaterials" /D /E /C /R /H /I /K /Y
    
    XCOPY ".\Data\models" "%TARG%\%account%\TEAMFO~1\tf\TESTmodels" /D /E /C /R /H /I /K /Y
    Le truc qui me chiffonne, c'est ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set TARG=C:\PROGRA~2\Steam\SteamApps
    J'ai windows en 64b, donc dans C:, j'ai "Program Files(x86)" et "Program Files"
    Pour pointer vers le dossiers steam (qui est 32b), je dois donc mettre "~2".
    pour quelqu'un en 32b, il faudrait "~1".

    Existe-il une manière simple pour savoir si l'ordinateur hôte du script est en 32b ou en 64b ?

    Je pourrais donc utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set winver=version de windows
    
    If winver=23 set winnbr=~1
    If winver=64 set winnbr=~2
    
    set TARG=C:\PROGRA%winnbr%\Steam\SteamApps
    
    XCOPY ".\Data\materials" "%TARG%\%account%\TEAMFO~1\tf\TESTmaterials" /D /E /C /R /H /I /K /Y
    
    XCOPY ".\Data\models" "%TARG%\%account%\TEAMFO~1\tf\TESTmodels" /D /E /C /R /H /I /K /Y
    Au pire des cas, ci on ne peut pas vérifier la version de windows,
    un simple set /p suffira.

  12. #12
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Tu peux faire un dir pour savoir si les dossiers existent et mettre le résultat dans un fichier texte.

    Attention où tu copies le fichier txt sous Windows 7 sur C: tu n'auras pas l'écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dir c:\progr* > d:\ver32_64.txt
    
    find /C "program files (x86)" d:\ver32_64.txt
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé un petit code que j'ai adapté a ma situation et ça a l'air de marcher !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if defined ProgramFiles(x86) (
     set winnbr=~1
     set winver=64bits
     ) else (
    set winnbr=~2
    set winver=32bits
    )
    set TARG=C:\PROGRA%winnbr%\Steam\SteamApps
    Note: J'utilise winver pour l'écrire dans un Log

    Voila, normalement mon problème est résolu !
    Je reviendrais ci j'ai une autre erreur majeure.

    Merci pour l'aide et bonne continuation !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2014, 14h39
  2. Réponses: 1
    Dernier message: 12/09/2012, 21h23
  3. [Xcopy et batch sur un réseau] Problème avec /d
    Par Oliv92120 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 17/07/2008, 10h13
  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, 14h32
  5. Utilisation de fichiers batch
    Par shifty.net dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 01/08/2004, 16h31

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