Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

HELP! Gros probleme lors de l'execution d'un fichier .bat ou .cmd en reseau

10 réponses
Avatar
Vincent
Bonjour,

Lorsque ,depuis un poste client, j'execute un fichier de commande .bat ou
.cmd à partir d'un repertoire partagé du serveur, j'ai un volume énorme de
données transférées entre mon poste et le serveur. En fait à chaque ligne de
commande du fichier .bat, le poste client relit le fichier!!! Est ce
normal??? et ceci quelque soit le contenu du fichier de commande, même s'il
ne contient que des lignes de commentaires.....

Par exemple, j'ai le fichier test.bat ci-dessous sur le disque partagé de
mon serveur nt "PLUTON", qui contient 1200 lignes (sa taille est de 58ko):

REM Ligne1
REM ligne 2
...
...
...
REM ligne 1200

Lorsque j'execute ce fichier à partir de mon poste client
(\\PLUTON\d$\test.bat), le volume de données généré entre le client et le
serveur est de 35,8 Mo!!!!!

Merci pour vos conseils!
Vincent

10 réponses

Avatar
Patrick D
pas assez d'explications pour comprendre qq chose
on ne sait même pas ce qu'est censé faire ton .bat, même s'il est plein de
commentaires

désolé


--
* remove '.don't.spam' and '.invalid' from my eMail address if you want to
write me *
* enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez
m'écrire *
Avatar
Dominique Vaufreydaz
Bonjour,

En fait peut importe ce que doit faire le .bat
J'ai mis des commentaires pour le test mais ça pourrait être autre chose....



Comment as-tu mesurer les 38 Mo ???

Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://www-prima.inrialpes.fr/Vaufreydaz/
http://slmg.imag.fr/
http://slmg-index.imag.fr/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/
Avatar
Vincent
Bonjour,

En fait peut importe ce que doit faire le .bat
J'ai mis des commentaires pour le test mais ça pourrait être autre chose....



"Patrick D" <patrickr.dubois.don' a écrit dans le message de
news:
pas assez d'explications pour comprendre qq chose
on ne sait même pas ce qu'est censé faire ton .bat, même s'il est plein de
commentaires

désolé


--
* remove '.don't.spam' and '.invalid' from my eMail address if you want to
write me *
* enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez
m'écrire *


Avatar
Th.A.C
Malheureusement, c'est vrai.
A chaque ligne lue/exécutée, le système relis le fichier depuis le début
jusqu'a la ligne suivante.
Sur des réseaux peu rapide (ls 128 ou 256 Kb), c'est tellement lent que ça
en devient inutilisable.

Il y aurait peut-être un compromis possible en emprisonnant le code dans une
section avec des parenthèses(l'aide parle de commandes multiples regroupées)
puisque normalement ce n'est interprété qu'une seule fois(a moins que ce ne
soit seulement l'évaluation de variable qui ne soit fait qu'une fois), mais
je n'ai pas testé...
Attention également aux problèmes avec certaines commandes comme FOR (voir
la commande 'setlocal ENABLEDELAYEDEXPANSION'). Ce genre de problème existe
peut-être quand on utilise les parenthèses...

Mais la la seule solution, c'est de faire du script wsh. Comme c'est
pseudo-compilé avant exécution, le fichier n'est lu qu'une seule fois. Mais
c'est beaucoup moins facile que le fichier de commande (.bat/.cmd)
Avatar
Vincent
Merci pour ces infos interessantes. Petite question sur le wsh,: c'est un
produit gratuit?
Merci!
Vincent

"Th.A.C" a écrit dans le message de
news:bn9gnh$697$
Malheureusement, c'est vrai.
A chaque ligne lue/exécutée, le système relis le fichier depuis le début
jusqu'a la ligne suivante.
Sur des réseaux peu rapide (ls 128 ou 256 Kb), c'est tellement lent que ça
en devient inutilisable.

Il y aurait peut-être un compromis possible en emprisonnant le code dans


une
section avec des parenthèses(l'aide parle de commandes multiples


regroupées)
puisque normalement ce n'est interprété qu'une seule fois(a moins que ce


ne
soit seulement l'évaluation de variable qui ne soit fait qu'une fois),


mais
je n'ai pas testé...
Attention également aux problèmes avec certaines commandes comme FOR (voir
la commande 'setlocal ENABLEDELAYEDEXPANSION'). Ce genre de problème


existe
peut-être quand on utilise les parenthèses...

Mais la la seule solution, c'est de faire du script wsh. Comme c'est
pseudo-compilé avant exécution, le fichier n'est lu qu'une seule fois.


Mais
c'est beaucoup moins facile que le fichier de commande (.bat/.cmd)




Avatar
Vincent
J'ai mesuré ce volume avec un sniffer réseau. J'ai fait plusieurs essais,
avec differents fichiers, differents postes clients et différents serveurs,
j'ai le même phénomène à chaque fois....


"Dominique Vaufreydaz" a écrit dans le
message de news:bn8s2m$h46$
Bonjour,

> En fait peut importe ce que doit faire le .bat
> J'ai mis des commentaires pour le test mais ça pourrait être autre


chose....

Comment as-tu mesurer les 38 Mo ???

Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://www-prima.inrialpes.fr/Vaufreydaz/
http://slmg.imag.fr/
http://slmg-index.imag.fr/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/




Avatar
Th.A.C
Le wsh, c'est en fait le vbscript qui est fourni avec w2k et avec IE4(me
semble t'il).

Tu trouveras la dernière version et de la doc sur le site de Microsoft et
sur le site de jcbellamy.

Mais ne t'attends pas à pouvoir sortir un script de remplacement demain
matin :-)

"Vincent" a écrit dans le message de
news:bnahj0$58t$
Merci pour ces infos interessantes. Petite question sur le wsh,: c'est un
produit gratuit?
Merci!
Vincent


Avatar
Jean-Claude BELLAMY
Vincent s'est ainsi exprimé:

Merci pour ces infos interessantes. Petite question sur le wsh,:
c'est un produit gratuit?



Oui !
WSH = Windows Scripting Host

C'est un environnement qui permet de faire tourner sous Windows (en tant
qu'OS) des scripts écrits en VBS (Visual Basic Scripts) ou JS (JScript, le
Javascript de Microsoft), ou encore d'autres langages si on a installé
l'interpréteur associé

Pour résumer "à la hache", c'est un contenant, alors que les scripts (+leurs
interpréteurs) sont un contenu.

Un script VBS peut tourner dans différents environnements :

- Dans Windows lui même (pour effectuer des tâches
quelconques, telles que traitement sur des fichiers,
administration de comptes, lancements d'applications, ...)
Un script VBS peut remplacer avantageusement un .bat ou .cmd
En effet, comme il est écrit dans un vrai langage de programmation,
(très voisin de VB), il autorise des tests complets, boucles,
lecture écriture de fichiers, traitements de chaines, saisies,
accès BDR, accès réseau, calculs mathématiques (sin, log, ... ),
et plein d'autres choses.

C'est WSH qui sert d'interface ici entre Windows et le script.

cf : http://www.bellamyjc.org/fr/vbsgeneralites.html#schema

- Dans Internet Explorer (d'une façon analogue à Javascript,
mais un script VBS ne peut tourner QUE dans IE et pas dans
un autre navigateur)

- Dans OutLook (pas Outlook Express) pour créer des formulaires

- Dans IIS, ou plus exactement le serveur HTTP d'IIS, à l'intérieur
des ASP (Active Server Page).
Dans ce cas, un script VBS est interprété par le serveur HTTP,
de façon analogue à la manière d'un CGI-BIN, pour renvoyer
des infos HTML


En ce qui concerne WSH et les interpréteurs de VBS,
ils sont installés en standard sous :
- Windows 98
- Windows ME
- Windows 2000
- Windows XP
- Windows 2003

Il faut les installer séparément sous :
- Windows 95

http://www.microsoft.com/devonly/prodinfo/scripting/downloads/v55/other/scr55fr.exe

- Windows NT4

http://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/FR/scr56fr.exe

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Avatar
phil
Ton probleme est, si je comprends bien ta question, l'affichage de te toutes tes
lignes de commandes ecrites dans un fichier batch (y compris les remarques ).

Pour eviter d'afficher les lignes de commandes au moment de l'execution de ton
batch, Ajoute la ligne suivante au debut de ton script.

@echo off

Reponds Ok si c'est bien l'objet de ta question.

Phil
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Avatar
Vincent
Non, en fait ce n'est pas l'affichage des commandes qui pose probleme mais
bien la lecture du fichier en lui-meme...


"phil" a écrit dans le message de
news:



Ton probleme est, si je comprends bien ta question, l'affichage de te


toutes tes
lignes de commandes ecrites dans un fichier batch (y compris les


remarques ).

Pour eviter d'afficher les lignes de commandes au moment de l'execution de


ton
batch, Ajoute la ligne suivante au debut de ton script.

@echo off

Reponds Ok si c'est bien l'objet de ta question.

Phil
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/