rss
executer net use
par f voisin
 Fil de Discussions
Statut : Non résolu
mercredi 8 novembre 2006 à 15:24:56
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
Répondre à f voisin  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le mercredi 8 novembre 2006 à 17:35:08 Fil de Discussions
Salut, mets une pause à la fin de ton batch et reexcute le pour voir le problème. :-) / proshack
Répondre à proshack

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par francois voisin, le jeudi 9 novembre 2006 à 08:16:10 Fil de Discussions
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
Répondre à francois voisin

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sebsauvage, le mercredi 8 novembre 2006 à 17:37:36 Fil de Discussions
Mais tu peux très bien spécifier directement les chemins dans l'ordre copy:

copy c:*.* \\c512-poste9\c512-poste9-tsce1 ceramvz\
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par francois voisin, le mercredi 8 novembre 2006 à 19:19:30 Fil de Discussions
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
Répondre à francois voisin

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sebsauvage, le jeudi 9 novembre 2006 à 09:39:44 Fil de Discussions
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.
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par francois voisin, le jeudi 9 novembre 2006 à 09:49:51 Fil de Discussions
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
Répondre à francois voisin

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 10:29:14 Fil de Discussions
Moi je pense que c'est peut-etre un problème de guillemet, je vais tester le problème quand j'ai 5 min :-) / proshack
Répondre à proshack

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 10:49:11 Fil de Discussions
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. / proshack
Répondre à proshack

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 11:06:57 Fil de Discussions
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
Répondre à f voisin

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 11:23:01 Fil de Discussions
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? / proshack
Répondre à proshack

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 11:26:01 Fil de Discussions
Au faîte "ceramvz" c'est bien ton nom d'utilisateur ? / proshack
Répondre à proshack

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 13:33:48 Fil de Discussions
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
Répondre à f voisin

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 13:51:27 Fil de Discussions
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... / proshack
Répondre à proshack

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 13:58:02 Fil de Discussions
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.
Répondre à f voisin

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 13:58:16 Fil de Discussions
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.
Répondre à f voisin

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 14:58:54 Fil de Discussions
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
Répondre à f voisin

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 15:10:09 Fil de Discussions
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
Répondre à f voisin

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par proshack, le jeudi 9 novembre 2006 à 18:07:11 Fil de Discussions
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 :-) / proshack
Répondre à proshack

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le jeudi 9 novembre 2006 à 18:12:48 Fil de Discussions
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
Répondre à f voisin

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bernard.Mouille, le jeudi 9 novembre 2006 à 18:19:56 Fil de Discussions
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
Répondre à Bernard.Mouille

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bernard.Mouille, le vendredi 10 novembre 2006 à 08:16:03 Fil de Discussions
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
Répondre à Bernard.Mouille

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bernard.Mouille, le vendredi 10 novembre 2006 à 13:30:24 Fil de Discussions
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
Répondre à Bernard.Mouille

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f voisin, le lundi 13 novembre 2006 à 11:59:31 Fil de Discussions
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
Répondre à f voisin

24


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par f.voisin, le lundi 13 novembre 2006 à 12:05:32 Fil de Discussions
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
Répondre à f.voisin

25


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bernard.Mouille, le lundi 13 novembre 2006 à 12:15:32 Fil de Discussions
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
Répondre à Bernard.Mouille