Executer net use

f voisin -  
 Bernard.Mouille -
Bonjour,

j'ai fait un petit programme pour copier des fichiers sur plusieurs postes de mon réseau (je suis enseignant).

Voici mes lignes de programme :

net use j: \\c512-poste5\c512-poste5-tsce1 ceramvz

net use k: \\c512-poste6\c512-poste6-tsce1 ceramvz

net use l: \\c512-poste7\c512-poste7-tsce1 ceramvz

net use m: \\c512-poste8\c512-poste8-tsce1 ceramvz

net use n: \\c512-poste9\c512-poste9-tsce1 ceramvz

net use o: \\c512-poste10\c512-poste10-tsce1 ceramvz

net use p: \\c512-poste11\c512-poste11-tsce1 ceramvz

net use q: \\c512-poste12\c512-poste12-tsce1 ceramvz

net use r: \\c512-poste13\c512-poste13-tsce1 ceramvz

net use s: \\c512-poste14\c512-poste14-tsce1 ceramvz

cd c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\

copy c:*.* j:

copy c:*.* k:

copy c:*.* l:

copy c:*.* m:

copy c:*.* n:

copy c:*.* o:

copy c:*.* p:

copy c:*.* q:

copy c:*.* r:

copy c:*.* s:

net use * /delete

Si ces lignes sont transcrite dans la fenêtre MS-DOS, tout va bien ; par contre si ces lignes sont dans un fichier exécutable MS-DOS, ça ne fonctionne pas. Pourquoi ?

Faut-il rajouter une commande de départ dans le fichier éxécutable ? et si oui laquelle ?

Merci d'avance pour votre aide toujours précieuse.

Francois Voisin
Configuration: xp pro 
réseau DHCP

18 réponses

  1. proshack Messages postés 107 Statut Membre 22
     
    Salut, mets une pause à la fin de ton batch et reexcute le pour voir le problème. :-)
    0
    1. francois voisin
       
      Bonjour,

      j'ai mis la commande que tu m'indiques à la fin de mon fichier batch. Ca a pour effet de ne permettre la copie que sur le premier poste à partir de la fenetre MS-dos et ca a aucun effet sur l'execution du fichier batch.

      Je pense plutot qu'il manque un ordre de départ du genre peut etre FOR DO

      Salutations

      F Voisin
      0
  2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Mais tu peux très bien spécifier directement les chemins dans l'ordre copy:

    copy c:*.* \\c512-poste9\c512-poste9-tsce1 ceramvz\
    0
  3. francois voisin
     
    Merci pour les conseils.

    j'essaierai demain.

    Toutefois pour la commande opy, je suis malgré tout obligé d'utiliser net use pour franchir la barrière du loggin et mot de passe et donc de créer un lecteur.

    salutations

    f voisin
    0
    1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
       
      Si les machines sont gérées par domaine et que c'est l'administrateur qui fait la copie, il n'a pas besoin d'entrer login et mot de passe.
      0
      1. francois voisin > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour,

        manque de chance, je ne suis pas en domaine et le poste duquel j'expédie les fichiers n'est pas géré en tant qu'administrateur mais utilisateurs avec pouvoirs.

        Toutefois mon problème est de savoir pourquoi mes lignes de commande fonctionnent parfaitement quand je les recopie dans une fenêtre MS-DOS alors que ça ne fonctionne pas directement en lançant un fichier batch.

        J'ai essayé de démarrer mon fichier par une commande do, ça ne change rien ; j'ai essayé de conditionner avec une commande de type While do, ça ne change rien non plus.

        Je pense que la fenêtre MS-DOS possède une commande d'éxécution automatique que je n'ai pas dans mon fichier batch.

        Ce que je recherche donc c'est cette commande qui fasse démarrer l'éxécution des commandes contenues dans le fichier batch.

        Merci pour votre aide

        F VOISIN
        0
      2. proshack Messages postés 107 Statut Membre 22 > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Moi je pense que c'est peut-etre un problème de guillemet, je vais tester le problème quand j'ai 5 min :-)
        0
      3. proshack Messages postés 107 Statut Membre 22 > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Salut, essaye de juste creer une connexion pour voir ou se situe deja le problème, moi j'ai testé et chez moi et ça marche:
        echo off
        cls
        net use j: \\c512-poste5\c512-poste5-tsce1 ceramvz 
        copy c:*.* j:
        net use * /delete
        pause


        et regarde si une erreur apparait.
        0
  4. f voisin
     
    Bonjour,

    tes lignes de commande fonctionnent parfaitement dans une fenêtre MS-Dos. Par contre dans un fichier de commande ms-dos, ça ne fonctionne pas. Le fichier (comme le mien) se lance, j'apperçois une fenêtre noire qui s'ouvre avec un message et qui se ferme aussitôt. Je n'ai absoluement pas le temps de lire le message contenu dans cette fenêtre.

    merci de passer du temps pour m'aider car si ça fonctionne, je connais beaucoup de collègues qui seront heureux d'adapter ce fichier à leurs classes.

    f Voisin
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. proshack Messages postés 107 Statut Membre 22
     
    Si elle se ferme sans arriver à la fin du batch c'est qu il y a une erreur... Quand tu as executer le batch a-t-il créer le mappage ? Tu pourrais aussi mettre une pause entre chaque ligne de commande pour voir ou se situe déjà le problème, as-tu compris?
    0
  7. proshack Messages postés 107 Statut Membre 22
     
    Au faîte "ceramvz" c'est bien ton nom d'utilisateur ?
    0
    1. f voisin
       
      1°) Ceramvz est mon mot de passe pour rentrer sur le poste distant

      2°) Quand je mets une commande pause après chaque ligne, le fichier ne fonctionne plus, ni dans une fenêtre MS-Dos ni en tant que fichier Batch.

      A+

      Francois
      0
      1. proshack Messages postés 107 Statut Membre 22 > f voisin
         
        il faut mettre les pause entre chaque ligne de commande et non à la fin
        ex:
        net use ....
        pause
        if exist...

        Tu les insères dans ton .bat, les pauses ne servent a rien si tu les rentres en commande direct...
        0
      2. f voisin > proshack Messages postés 107 Statut Membre
         
        ok, c'est ce que j'ai fait dans mon fichier batch. Il ne fonctionne pas.

        Tout ce que j'ai réussir à savoir, c'est qu'il lance CMD.EXE.
        0
      3. f voisin > proshack Messages postés 107 Statut Membre
         
        ok, c'est ce que j'ai fait dans mon fichier batch. Il ne fonctionne pas.

        Tout ce que j'ai réussir à savoir, c'est qu'il lance CMD.EXE.
        0
  8. f voisin
     
    Etant d'un naturel têtu, je persiste.

    Quand j'exécute les lignes de commande depuis une fenêtre MS-DOS, tout va bien. La commande net use me créer une lecteur qui apparaît sur poste de travail.

    Quand j'exécute le fichier batch, aucun lecteur n'est connecté par la commande net use. Celle-ci n'est donc pas reconnue dans un fichier batch.

    Cela viendrait-il du fait que certaines commandes sont reconnues en denêtre ms-dos et non reconnues en fichier batch ?

    A+

    F VOISIN
    0
  9. f voisin
     
    Après lecture de la doc voici les commandes qui sont acceptée dans un fichier Batch :

    "Vous pouvez inclure n'importe quelle commande dans un fichier de commandes. Certaines commandes, telles que for, goto et if, vous permettent d'effectuer un traitement conditionnel des commandes contenues dans le fichier de commandes. Par exemple, la commande if permet l'exécution d'une commande selon les résultats d'une condition. D'autres commandes vous permettent de contrôler les entrées-sorties et d'appeler d'autres fichiers de commandes.

    Les codes d'erreur standard renvoyés par la plupart des applications sont 0 en l'absence d'erreur et 1 (ou une valeur supérieure) en cas d'erreur. Veuillez consulter la documentation d'aide de votre application pour déterminer la signification des codes d'erreur spécifiques.

    Pour plus d'informations sur les opérations des fichiers de commandes, consultez les rubriques suivantes :

    Emploi des paramètres de commande
    Utilisation de filtres
    Utilisation d'opérateurs de redirection de commande
    Pour plus d'informations sur les commandes utilisables dans les fichiers de commandes, cliquez sur une commande :

    Call
    Echo
    Endlocal
    Pour
    Goto
    Si
    Pause
    Rem
    Setlocal
    Shift "

    Je constate que la commande net use n'en fait pas partie. Toutefois ils disent "vous pouvez inclure n'importe quelle commande". Que faut-il comprendre par là ????

    De toute façon, j'ai fini pour aujourd'hui dans la salle de cours concernée. Je ne pourrai reprendre mes essais que lundi

    Bon week end à tous et encore merci

    François Voisin
    0
  10. proshack Messages postés 107 Statut Membre 22
     
    Vu que tes commandes fonctionnent dans un shell directement et non dans un fichier .bat, la panne peux venir d'un problème d'espace, c'est pour ça qu'il faut mettre entre guillemets certaines parties qui sont munie d'un espace, ou encore des variables (ex:"%userprofile%"). Je comprends pas car toi c'est pas ton cas, tes chemins pour les mappages sont sans espaces et sans variables :-|... Mais on va trouver la panne, je suis sur que c'est tout con...Si des autres personnes ont des idées :-)
    0
  11. f voisin
     
    super sympa de persister

    j'ai cherché un peu partout mais vraiment je ne vois pas, a moins que la commande net use ne soit pas prise en compte dans un fichier batch.

    merci encore pour votre aide.

    je contribue quant à moi dans la mesure de mes maigres moyens informatiques à essayer d'aider les autres utilisateurs sur votre excellent site

    bon week ens

    francois
    0
  12. Bernard.Mouille
     
    Bonjour,

    Essaye de renvoyer l'affichage dans un fichier (par exemple rapport.txt) et de voir ce qui s'est passé

    1 > pour créer le fichier rapport.txt
    2 >> pour ajouter une ligne au fichier rapport.txt

    C'est comme ça que je procède pour comprendre ce qui s'est passé

    Bonne soirée

    BM

    net use j: \\c512-poste5\c512-poste5-tsce1 ceramvz >rapport.txt

    net use k: \\c512-poste6\c512-poste6-tsce1 ceramvz >>rapport.txt

    net use l: \\c512-poste7\c512-poste7-tsce1 ceramvz >>rapport.txt

    cd c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\ >>rapport.txt

    copy c:*.* j: >> rapport.txt

    net use * /delete >>rapport.txt
    0
  13. Bernard.Mouille
     
    Bonjour,

    J'ai essayé quelque chose de similaire et ça marchait en fichier BAT

    net use j: \\c512-poste5\c512-poste5-tsce1 ceramvz >C:\RAPPORT.TXT
    net use k: \\c512-poste6\c512-poste6-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use l: \\c512-poste7\c512-poste7-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use m: \\c512-poste8\c512-poste8-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use n: \\c512-poste9\c512-poste9-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use o: \\c512-poste10\c512-poste10-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use p: \\c512-poste11\c512-poste11-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use q: \\c512-poste12\c512-poste12-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use r: \\c512-poste13\c512-poste13-tsce1 ceramvz >>C:\RAPPORT.TXT
    net use s: \\c512-poste14\c512-poste14-tsce1 ceramvz >>C:\RAPPORT.TXT

    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* j: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* k: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* l: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* m: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* n: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* o: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* p: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* q: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* r: /Y >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* s: /Y >>C:\RAPPORT.TXT

    net use * /delete /Y >>C:\RAPPORT.TXT

    edit c:\RAPPORT.TXT

    On peut aussi faire :

    net use j: \\c512-poste5\c512-poste5-tsce1 ceramvz >C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* j: /Y >>C:\RAPPORT.TXT
    net use j: /delete /Y >>C:\RAPPORT.TXT
    net use k: \\c512-poste6\c512-poste6-tsce1 ceramvz >>C:\RAPPORT.TXT
    copy c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.* k: /Y >>C:\RAPPORT.TXT
    net use k: /delete /Y >>C:\RAPPORT.TXT
    edit c:\RAPPORT.TXT

    Bonne journée,

    BM
    0
  14. Bernard.Mouille
     
    Re-bonjour,

    Si ça ne marche toujours pas, essayer de mettre les guillements comme suit :

    net use k: \\c512-poste6\c512-poste6-tsce1 ceramvz >>C:\RAPPORT.TXT
    copy "c:\Documents and Settings\pc.c512-profs\bureau\synchro-tsce1\source\*.*" k: /Y >>C:\RAPPORT.TXT
    net use k: /delete /Y >>C:\RAPPORT.TXT
    edit c:\RAPPORT.TXT

    Bonne journée

    BM
    0
    1. f voisin
       
      Bonjour,

      merci pour votre aide.

      J'ai testé les différentes propositions que vous m'avez soumises en faisant un copier coller afin d'éviter toute faute de frappe.

      Rien ne fonctionne en batch. Le rapport qui devrait être généré ne l'est pas donc je ne peux pas savoir ce qui bloque.

      N'y a-t-il pas une une option qui serait désactivée sur mon poste et qui serait activée sur le vôtre ?

      Je suis en Win xp SP1
      0
  15. f.voisin
     
    Re bonjour,

    en lançant de multiples fois mon fichier, j'ai réussi à lire dans la fenêtre qui s'ouvre et se ferme très vite "Cettecommande n'est pas reconnue ..."

    Donc apparament, la commande net use n'est pas reconnue en fichier batch sur mon poste.

    salutations

    f voisin
    0
    1. Bernard.Mouille
       
      Bonjour,

      Je pense qu'il faut vérifier rajouter la commande en début de votre fichier bat :

      SET PATH=%PATH%;C:\WINDOWS\SYSTEM32

      C'est dans ce dossier que se trouve NET.EXE sur mon ordinateur.

      Bonne journée

      BM
      0
  16. f voisin
     
    Bonjour,

    j'ai mis la commande path en tête de fichier, mais ça ne change rien.

    j'ai vérifié que le fichier net.exe était bien dans c:\windows\system32.

    je dispose en fait de net et net1.

    Par contre quand je fais une recherche de fichier avec l'utilitaire chercher de windows, je ne trouve pas net.exe ; bizarre non ?

    merci pour votre aide

    f voisin
    0
  17. f voisin
     
    Voici le message que me renvoie la fenêtre du fichier batch (fenêtre obtenue après de très nombreux printscreen).

    " ??? n'est pas reconnu en tant que commande interne , externe ou programme de commande"

    Je pense que ??? est Net use

    f voisin
    0
  18. f voisin
     
    en fait ??? est un carré blanc entre deux ' .

    J'édite mon fichier avec le bloc notes. Peut être celui-ci traduit-il mal les caractères que je saisis au clavier ?

    f voisin
    0
  19. f voisin
     
    CA Y EST CA MARCHE

    en fait, en utilisant le bloc notes comme éditeur de texte, des caractères non désirés sont induits.

    J'ai repris le fichier dans word et enregistré sous format unicode.

    Maintenant le fichier se lance et fonctionne parfaitement.

    Merci à tous pour votre patience et votre aide.

    Probablement à bientôt avec un nouveau problème.

    François Voisin

    PS vous pouvez clôturer cette discussion.
    0
    1. Bernard.Mouille
       
      Bonsoir,

      Content pour toi


      A un de ces jours peut-être ...

      Bonne soirée

      BM
      0