OVH Cloud OVH Cloud

Traduction batch DOS en VBS

1 réponse
Avatar
dom
Bonjour à tous,

J'ai été chargé de passer un batch DoS en VBS. Malheureusement, je ne
maitrise pas parfaitement les subtilités de DoS et suis bien embêté pour
traduire certaines lignes de codes. D'où mon appel à vous ...

Voici l'extrait de code DOS qui m'ennuit:

:fvir665
REM ------------ Virement antalia
echo ---- envoi saut de page
ECHO ST_PG >> %ici%faxfic.tmp
echo %1
echo ajout du compteur
type %1 | T repl '0302 ' '0302VIR0%nbfax%' > %1.env
echo --- recherche des montants
TYPE %1 | T incl '0802' 1 4 | T RIGHT 63 > %ici%montant1.tmp
TYPE %ici%montant1.tmp | T clean | T ins 15 ',' > %ici%montant.tmp
echo --- recherche nombre d'enregistrements
TYPE %1 | T count > %ici%nombre.tmp
echo ---- constitution de la page
TYPE %ici%px_vir02.ttt >> %ici%faxfic.tmp
TYPE %ici%px_exp.ttt >> %ici%faxfic.tmp
rem --- date
NOW >> %ici%faxfic.tmp
ECHO. >> %ici%faxfic.tmp
ECHO. >> %ici%faxfic.tmp
ECHO. >> %ici%faxfic.tmp
TYPE %ici%px_nom.ttt >> %ici%faxfic.tmp
ECHO %1 >> %ici%faxfic.tmp
TYPE %ici%px_mont.ttt >> %ici%faxfic.tmp
TYPE %ici%montant.tmp >> %ici%faxfic.tmp
TYPE %ici%px_nb.ttt >> %ici%faxfic.tmp
TYPE %ici%nombre.tmp >> %ici%faxfic.tmp
SET /A nbfax=nbfax+1

- Que signifie ECHO %1 (%1 n'est nulle part définit avant ds la procédure) ?
- Que signifie la ligne "type %1 | T repl '0302 ' '0302VIR0%nbfax%' >
%1.env" (le pipe ?, le T repl ?)

Merci INFINIMENT à tous ceux qui voudront bien m'aider ...

Dominique

1 réponse

Avatar
Jean-Claude BELLAMY
Dans le message news:40ebfb01$0$24422$ ,
dom s'est ainsi exprimé:

Bonjour à tous,

J'ai été chargé de passer un batch DoS en VBS. Malheureusement, je ne
maitrise pas parfaitement les subtilités de DoS et suis bien embêté
pour traduire certaines lignes de codes. D'où mon appel à vous ...

Voici l'extrait de code DOS qui m'ennuit:

fvir665
REM ------------ Virement antalia

echo ---- envoi saut de page
ECHO ST_PG >> %ici%faxfic.tmp
echo %1
echo ajout du compteur
type %1 | T repl '0302 ' '0302VIR0%nbfax%' > %1.env
echo --- recherche des montants
[...]

- Que signifie ECHO %1 (%1 n'est nulle part définit avant ds la
procédure) ?


C'est un paramètre formel, qui contient le 1er paramètre passé au batch
(NB: l'espace est le caractère séparateur des paramètres)

Si le script s'appelle "machin.bat", et si on exécute la commande
machin plops
la ligne "echo %1" provoqera l'affichage de
plops


- Que signifie la ligne
"type %1 | T repl '0302 ' '0302VIR0%nbfax%' > %1.env"
(le pipe ?, le T repl ?)


"Type" est une commande qui affiche dans le flux standard de sortie ( l'écran) le contenu du fichier spécifié.
type %1
affiche le contenu du fichier dont le nom est dans %1
le caractère "|" est un "pipe" effectivement, qui rédirige la sortie de type
vers ... autre chose

Je suppose que "T" est le nom d'un programme ou d'un batch
Il n'y a que toi qui puisse le savoir
Le reste (repl, ...) sont des paramètres passés à ce programme/script
%nbfax% est une variable d'environnement qui a dû être définie au préalable
dans ton environnement.
Apparemment, elle sert de compteur.

"> %1.env" indique que le résultat de "T" est envoyé dans un fichier, dont
le nom est composé du contenu de %1 suivi de ".env"

Il est totalement impossible de t'en dire plus, ne sachant pas "qui que quoi
où quand pourquoi comment ..."

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *