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
A voir également:

18 réponses

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
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
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Mais tu peux très bien spécifier directement les chemins dans l'ordre copy:

copy c:*.* \\c512-poste9\c512-poste9-tsce1 ceramvz\
0
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
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
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
francois voisin > sebsauvage Messages postés 33415 Statut Modérateur
 
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
proshack Messages postés 107 Statut Membre 22 > sebsauvage Messages postés 33415 Statut Modérateur
 
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
proshack Messages postés 107 Statut Membre 22 > sebsauvage Messages postés 33415 Statut Modérateur
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
proshack Messages postés 107 Statut Membre 22
 
Au faîte "ceramvz" c'est bien ton nom d'utilisateur ?
0
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bernard.Mouille
 
Bonsoir,

Content pour toi


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

Bonne soirée

BM
0