Envoi simultané de fichiers sur plusieurs pc

francois voisin -  
brupala Messages postés 111130 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je dois souvent envoyer des fichiers sur un certain nombre de pc du même groupe de travail.

Actuellement je les envoie un par un sur chaque pc ce qui est assez long.

Est-il possible de faire une commande du type copier fichier , coller sur postes ...... ?

Merci d'avance pour votre aide

Francois
Configuration: Win Xp 
réseau cable

7 réponses

  1. foobar47 Messages postés 13654 Statut Contributeur 534
     
    essaye un truc du genre :
    PC_LIST="PC1 PC2 PC3"
    for PC in $PC_LIST
    do
    copy c:\monfichier $PC
    done

    A++
    0
    1. francois voisin
       
      Merci pour l'aide

      j'ai essayé cette commande dans "Exécuter" et sous l'invite MSdos.

      Rien ne fonctionne. En particulier la commande PC_LIST n'est pas reconnue.

      N'existe-t-il pas un petit utilitaire téléchargeable ou une macro commande par exemple sous Excel ?

      A+ et merci encore
      0
  2. brupala Messages postés 111130 Date d'inscription   Statut Membre Dernière intervention   14 439
     
    bon, il y a peut-etre un léger problème de syntaxe, mais le principe est bon pour un batch: révises un peu ça:
    F:\>for
    La syntaxe de la commande est incorrecte.
    
    F:\>for /?
    Exécute une commande donnée pour chaque fichier d'un ensemble de fichiers.
    
    FOR %variable IN (ensemble) DO commande [paramètres]
    
      %variable   Spécifie un paramètre remplaçable par une seule lettre.
      (ensemble)  Ensemble de fichiers. Caractères génériques autorisés.
      commande    Commande à exécuter pour chaque fichier.
      paramètres  Liste des paramètres ou des options pour la commande
                  spécifiée.
    
    Pour utiliser la commande FOR dans un programme de commandes, spécifiez
    %%variable au lieu de %variable. Les noms de variables respectent la
    casse, donc %i est différent de %I.
    
    Si les extensions de commandes sont activées, les formes supplémentaires
    suivantes sont prises en charge pour la commande FOR :
    
    FOR /D %variable IN (ensemble) DO commande [paramètres]
    
        Si ensemble contient des caractères génériques, alors la correspondance se
        fait sur les noms de répertoires au lieu des noms de fichiers.
    
    FOR /R [[lecteur:]chemin] %variable IN (ensemble) DO commande [paramètres]
    
        Parcourt l'arborescence de répertoires depuis la racine [lecteur:]chemin,
        en exécutant FOR dans chaque répertoire de l'arborescence. Si aucun
        répertoire n'est spécifié après /R alors le répertoire en cours est
        utilisé. Si ensemble est seulement un point (.) alors seule l'arborescence
        de répertoires sera énumérée.
    
    FOR /L %variable IN (début,pas,fin) DO commande [paramètres]
    
        L'ensemble est une séquence de chiffres allant de début à fin, incrémenté
        de pas. Ainsi (1,1,5) génère la séquence 1 2 3 4 5 et (5,-1,1) génère la
        séquence (5 4 3 2 1)
    
    FOR /F ["options"] %variable IN (ensemble-fichiers) DO commande [paramètres]
    FOR /F ["options"] %variable IN ("chaîne") DO commande [paramètres]
    FOR /F ["options"] %variable IN ('commande') DO commande [paramètres]
    
        ou, si l'options usebackq est utilisée :
    
    FOR /F ["options"] %variable IN (ensemble-fichiers) DO commande [paramètres]
    FOR /F ["options"] %variable IN ('chaîne') DO commande [paramètres]
    FOR /F ["options"] %variable IN (`commande`) DO commande [paramètres]
    
        ensemble-fichiers est un ou plusieurs noms de fichiers. Chaque fichier est
        ouvert, lu et traité avant de passer au fichier suivant de
        ensemble-fichiers. Le traitement consiste à lire dans le fichier, le
        découper en lignes individuelles de texte puis analyser chaque ligne en
        zéro ou plusieurs parties. Le corps de la boucle FOR est ensuite appelé
        avec la ou les valeurs de variables prenant la valeur de la ou des parties
        trouvées. Par défaut, /F transmet la première partie séparée par un blanc
        dans chaque ligne de chaque fichier. Les lignes vides sont ignorées. Vous
        pouvez outrepasser le comportement d'analyse par défaut en spécifiant le
        paramètre optionnel "options". Ceci est une chaîne entre guillemets
        contenant un ou plusieurs mots-clés spécifiant diverses options d'analyse.
        Les mots-clés sont :
    
            eol=c           - spécifie un caractère de commentaire de fin de ligne
                              (un seul)
            skip=n          - spécifie le nombre de lignes à ignorer en début
                              de fichier.
            delims=xxx      - spécifie un ensemble de délimiteurs. Ceci remplace
                              l'ensemble de délimiteurs par défaut qui sont
                              l'espace et la tabulation.
            tokens=x,y,m-n  - spécifie les parties de chaque ligne devant être
                              transmises au corps de FOR à chaque itération.
                              Ceci provoquera l'allocation de noms de variables
                              supplémentaires. La forme m-n est une étendue
                              spécifiant les parties allant de m à n. Si le
                              dernier caractère de la chaîne tokens= est une
                              astérisque, alors une variable supplémentaire est
                              allouée et reçoit le texte restant dans la ligne
                              suivant la dernière partie analysée.
            usebackq        - spécifie que la nouvelle sémantique est en place,
                              lorsqu'une chaîne entre guillemets inversés est
                              exécutée en tant que commande et une chaîne entre
                              guillemets simples est une chaîne de commande
                              littérale et permet l'utilisation de guillemets
                              doubles pour citer des noms de fichiers.
    
        Quelques exemples explicatifs :
    
    FOR /F "eol=; tokens=2,3* delims=, " %i in (monfich.txt) do @echo %i %j %k
    
        analyse chaque ligne de monfich.txt, en ignorant les lignes commençant
        par un point-virgule, en transmettant les 2nde et 3ème parties de
        chaque ligne au corps de FOR, les parties étant délimitées par des
        virgules et/ou espaces. Notez que le corps de FOR référence %i pour
        l'obtention de la 2nde partie, %j pour l'obtention de la 3ème partie
        et %k pour l'obtention des parties restantes après la 3ème. Pour les
        noms de fichiers contenant des espaces, placez les noms de fichiers
        entre guillemets doubles. Afin d'utiliser ainsi les guillemets doubles,
        vous devez également utiliser l'option usebackq, faute de quoi les
        guillemets doubles seraient interprétés comme définissant une chaîne
        littérale à analyser.
    
        %i est déclarée explicitement dans la déclaration FOR et %j et %k
        sont déclarées implicitement via l'option tokens=. Vous pouvez spécifier
        jusqu'à 26 paries via la ligne tokens=, tant que cela ne provoque pas
        de tentative de déclaration de variable plus élevée que la lettre 'z'
        ou 'Z'. Souvenez-vous que les variables de FOR se composent de lettres,
        tiennent compte de la casse, sont globales et que  plus de 52 ne peuvent
        pas être actives à la fois.
    
        Vous pouvez aussi utiliser la logique d'analyse FOR /F sur une chaîne en
        plaçant ensemble-fichiers entre guillemets entre les parenthèses,
        en utilisant des guillemets simples. Elle sera traitée comme une ligne
        d'entrée simple provenant d'un fichier puis analysée.
    
        Enfin, vous pouvez utiliser la commande FOR /F pour analyser les
        données en sortie d'une commande. Faites ceci en plaçant des guillemets
        inversés autour de ensemble-fichiers entre les parenthèses.  Elle sera
        traitée comme une ligne de commande transmise à un CMD.EXE enfant et
        la sortie est gardée en mémoire et analysée comme s'il s'agissait d'un
        fichier. Ainsi l'exemple suivant :
    
          FOR /F "usebackq delims==" %i IN (`ensemble`) DO @echo %i
    
        énumérerait les noms de variables d'environnement de l'environnement
        en cours.
    
    De plus, la substitution de références de variables FOR a été améliorée.
    Vous pouvez maintenant utiliser la syntaxe optionnelle suivante :
    
        %~I         - étend %I en supprimant les guillemets (")
        %~fI        - étend %I en nom de chemin d'accès reconnu
        %~dI        - étend %I en lettre de lecteur uniquement
        %~pI        - étend %I en chemin d'accès uniquement
        %~nI        - étend %I en nom de fichier uniquement
        %~xI        - étend %I en extension de fichier uniquement
        %~sI        - chemin étendu contenant uniquement des noms courts
        %~aI        - étend %I en attributs du fichier
        %~tI        - étend %I en date/heure du fichier
        %~zI        - étend %I en taille du fichier
        %~$PATH:I   - parcourt les répertoires de la variable
                       d'environnement PATH et étend %I en nom du
                       premier fichier reconnu trouvé. Si le nom de la
                       variable d'environnement n'est pas défini ou
                       que le fichier n'est pas trouvé par la recherche,
                       alors ce modificateur étend en chaîne vide
    
    Vous pouvez combiner les modificateurs pour obtenir des résultats composés :
    
        %~dpI       - étend %I en lettre de lecteur et chemin d'accès uniquement
        %~nxI       - étend %I en nom de fichier et extension uniquement
        %~fsI       - étend %I en nom de chemin complet avec noms courts
                       uniquement
        %~dp$PATH:i - parcourt les répertoires listés dans la variable
                       d'environnement PATH à la recherche de %I et étend
                       en lettre de lecteur du premier trouvé.
        %~ftzaI     - étend %I en DIR comme ligne en sortie
    
    Dans les exemples ci-dessus %I et PATH peuvent être remplacés par d'autres
    valeurs valides. La syntaxe %~ se termine par un nom de variable FOR valide.
    Le choix de noms de variables en majuscules comme %I facilite la lecture
    et empêche toute confusion avec les modificateurs qui ne tiennent pas compte
    de la casse.
    
    F:\>
    0
  3. foobar47 Messages postés 13654 Statut Contributeur 534
     
    Oui, j'ai mis ça pour info, mais il faut evidemment l'adapter à tes besoins...
    0
  4. francois voisin
     
    Bonjour,

    merci pour l'aide.

    En fait j'utilise la commande copy que je répète n fois. C'est simple et très efficace.

    Toutefois je rencontre à nouveau un problème. Mes postes sont en XP PRO NTFS. Pour coipier un fichier sur un poste distant, il faut donc que je me logue sur celui-ci. Existe-t-il une commande automatique permettant de se loguer, c'est à dire de saisir le nom utilisateur et le mot de passe ?

    Merci d'avance

    François VOISIN
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. brupala Messages postés 111130 Date d'inscription   Statut Membre Dernière intervention   14 439
     
    bah oui,
    le net use est un peu fait pour ça:
    La syntaxe de cette commande est :
    
    
    NET USE
    [nom de périph.|*] [\\Ordinateur\Partage[volume] [mot de passe | *]]
            [/USER:[nom de domaine\]nom d'utilisateur]
            [/USER:[nom de domaine avec points\]nom d'utilisateur]
            [/USER:[nom d'utilisateur@nom de domaine avec points]
            [/SMARTCARD]
            [/SAVECRED]
            [[/DELETE] | [/PERSISTENT:{YES | NO}]]
    
    NET USE [nom de périphérique | *] [mot de passe | *] [/HOME]
    NET USE [/PERSISTENT:{YES | NO}]
    
    
    NET USE établit ou rompt une connexion d'une station de travail à une
    ressource partagée. Employée sans argument, NET USE liste les connexions
    de la station de travail.
    
    nom de périphérique  Spécifie le nom de périphérique affecté à la
                         connexion à établir ou à rompre. Ce nom de périphérique
                         désigne soit un lecteur de disque (de D: à Z:),
                         soit une imprimante (de LPT1: à LPT3:). Mettez une
                         astérisque pour affecter la première lettre disponible
                         au périphérique.
    \\Ordinateur         Est le nom du serveur qui gère la ressource partagée.
                         Si ce nom contient des espaces, spécifiez-le, double
                         barre oblique (\\) comprise, entre guillemets anglo-
                         saxons ("). Le nom d'ordinateur peut contenir de 1 à
                         15 caractères.
    \Partage             Est le nom réseau de la ressource partagée.
    \Volume              Spécifie un volume NetWare sur le serveur. Vous devez
                         avoir les services client pour NetWare (Windows NT
                         Workstation) ou les services passerelle pour NetWare
                         (Windows NT Server) installés et en cours d'exécution
                         pour se connecter à des serveurs NetWare.
    mot de passe         Est le mot de passe nécessaire pour accéder à la
                         ressource.
    *                    Affiche un message demandant le mot de passe. Celui-ci
                         n'est pas affiché lorsque vous le tapez.
    /USER                Spécifie un nom d'utilisateur différent pour
                         établir la connexion.
    nom de domaine       Spécifie un autre domaine. Si cet argument est omis, le
                         domaine où se déroule la session courante est utilisé.
    nom d'utilisateur    Spécifie le nom d'utilisateur à employer pour la
                         session.
    /SMARTCARD           Spécifie que la connexion doit utiliser les informations
                         d'identification contenues sur une carte à puce.
    /SAVECRED            Spécifie que le nom d'utilisateur et le mot de passe doivent
                         être enregistrés. Ce commutateur est ignoré si la commande
                         demande pas le nom d'utilisateur et le mot de passe. Cette
                         option n'est pas disponible sur Windows XP Édition familiale
                         et sera ignorée.
    /HOME                Connecte un utilisateur à son répertoire de base.
    /DELETE              Rompt une connexion réseau et la supprime dans
                         la liste des connexions persistantes.
    /PERSISTENT          Permet de gérer les connexions réseau persistantes.
                         La valeur par défaut est celle définie en dernier.
    YES                  Enregistre toutes les connexions à mesure que vous les
                         établissez et les restaure à la session suivante.
    NO                   N'enregistre ni la connexion à établir, ni les
                         suivantes ; les connexions existantes seront restaurées
                         à la session suivante. Employez l'option /DELETE pour
                         supprimer des connexions persistantes.
    NET HELP commande | MORE affiche l'aide écran par écran.
    
    0
  7. francois VOISIN
     
    Bonjour et encore merci pour l’aide.

    Je ne suis pas un grand informaticien devant l’éternel ce qui fait que je M… un peu.

    Toutefois la commande net use me semble bien correspondre à mes vœux.

    Voici les lignes de commande que j’ai crées et qui fonctionnent presque :

    net use f: \\c512-poste1\c512-poste1-tsce1 /user:céramique\ceramvz
    copy c:*.* f:
    del f:sync*.*
    net use f: /delete

    net use g: \\c512-poste2\c512-poste2-tsce1 /user:céramique\ceramvz
    copy c:*.* g:
    del g:sync*.*
    net use g: /delete

    Toutefois je rencontre encore deux problèmes :

    1° quand j’écris « céramique » avec le bloc note, je récupère « cÚramique » dans le fichier exécutable. Comment puis-je corriger cela ?

    2° après l’utilisation de la commande NET USE, je n’ai plus accès aux ordinateurs par l’explorateur réseau. Je les vois mais l’accès m’en est interdit.

    Merci de me consacrer un peu de votre temps.

    François Voisin
    0
  8. brupala Messages postés 111130 Date d'inscription   Statut Membre Dernière intervention   14 439
     
    peut etre les autorisations ntfs.
    et pour les caractères accentués dans les noms de fichiers ...
    c'est comme les espaces, il vaut mieux éviter si le fichier est appelé à voyager.
    0