besoin d'aide pour ecrire un Script DOS Merci

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

MAXJEREM
Batcheur occasionnel
Messages : 7
Enregistré le : 12 oct. 2009 11:45

besoin d'aide pour ecrire un Script DOS Merci

Message par MAXJEREM »

Bonjour,

Je travaille sous Windows XP et je dois ecrire un script sous DOS pour l'executer en batch. le but est de lire un fichier toto.txt et generer des fichiers .tmp par ligne contenue dans fichier toto.txt

Par exemple, le fichier toto.txt contient:

aaaaaa

bbbbbb

ccccccc

dddddd

il faudrait que je genere aaaa.tmp, bbbbb.tmp, cccc.tmp, dddddd.tmp par exmeple.

merci par avance de votre aide

Cordialement
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par Laddy »

Bonjour
Code testé

Code : Tout sélectionner

@echo off
for /f "tokens=*" %%a in ('type toto.txt') do echo. >  %%a.tmp
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
MAXJEREM
Batcheur occasionnel
Messages : 7
Enregistré le : 12 oct. 2009 11:45

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par MAXJEREM »

Bonjour,

merci pour cette premiere reponse. j'ai testé le script proposé, je rencontre deux problemes.
Le premier concerne le nom de fichier j'obtiens aaaa .tmp (trop d'espaces) je devrais avoir aaaa.tmp
le second plus important, la valeur n'est pas dans le fichier .tmp.
Autrement dit, quand j'ouvre le fichier .tmp, je dois trouver aaaa
j'espere être clair.
merci par avance.
Cordialement
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par Laddy »

le resultat dépendra du contenu de ton fichier txt.
si tu as des espaces il mettra des espaces
le contenu des fichiers générés n'étaient pas spécifiés dans ton précédent message



code testé et je n'ai aucun probleme d'espace
@echo off
for /f "tokens=*" %%a in ('type toto.txt') do echo %%a >  %%a.tmp
merci d'etre précis sur la structure de ton fichier txt.
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
MAXJEREM
Batcheur occasionnel
Messages : 7
Enregistré le : 12 oct. 2009 11:45

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par MAXJEREM »

Bonjour,

Je te remercie pour ce précieux script. En effet, mon fichier txt contient des blancs après chaque ligne. il faut que je trouve un moyen de les supprimer avant d'exécuter ton script.

je me permets de profiter de ton expertise pour te demande un autre conseil.
une fois ces fichiers TMP générés, avec en première ligne la valeur aaaa ou bbbb ou autres.
il me faut exécuter un second script, qui prendrait le premier fichier tmp dans mon exemple aaaa.tmp, le copier en fichier aaaa.lst, exécuter un programme Windows qui génère une page HTM fichier généré output.htm; copier ce fichier output.htm avec la valeur aaaa.htm, puis boucler avec le second bbbb.tmp.
En clair:
Phase 1 :
de eric.txt, qui contient:
aaaa
bbbb
cccc
dddd
générer en supprimant les blancs devant chaque ligne, aaa.tmp; bbbb.tmp;cccc.tmp;dddd.tmp avec dans chaque fichier TMP respectivement aaaa, bbbb, cccc, dddd
Phase2;
Copier chaque .tmp en .lst
Exécuter un programme Windows toto.exe qui génère à partir de .lst, un fichier output.htm.
Copier ce fichier output.htm en aaaa.htm pour le premier
Enchainer avec le second TMP
etc....
J’espère que tu pourras m'aider et merci par avance.
Cordialement
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par Laddy »

Pourquoi ne pas supprimer les espaces manuellement ?
ensuite pourquoi ne pas faire directement en html ??

au final il contient quoi ton fichier html ?
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
MAXJEREM
Batcheur occasionnel
Messages : 7
Enregistré le : 12 oct. 2009 11:45

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par MAXJEREM »

Bonjour,

Supprimer les espaces manuelement prendrait trop de temps, je ne mesure pas la taille du TXT. Note que je dois livrer ces scripts à mes clients.
Concernant la partie HTM, il s'agit d'un logiciel que je distribue à la lecture d'un fichier LST, le programme constitue sous HTM un liste de table Oracle.
En resumé, j'extrait de la table oracle une liste de noms sous forme de liste.txt.
Puis, avec ton premier script, j'extrait et j'isole chaque nom dans un fichier TMP.
Ce fichier TMP je renomme en .Lst (seule entrée connue dans notre programme).
Puis j'execute notre programme qui genere le fichier HTM;
Et j'ai besoin de cette "mecanique" pour chaque nom extrait.
j'espere que tu pourras m'aider et merci par avance.
Cordialement
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par Laddy »

déjà dans un premier temps stocker dans un tmp est inutile puis que le renomme uniquement apres par la suite en lst

autant le faire directement
@echo off
for /f "tokens=1" %%a in ('type toto.txt') do echo %%a > %%a.lst
pour les espaces jai modifié le tokens=* en tokens=1 il ne prendra plus l'espace.

ensuite pour ton html il faut regarder si ton programme permet de s'executer en ligne de commande ou alors avoir le contenu de ton fichier html pour réaliser une boucle for
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
MAXJEREM
Batcheur occasionnel
Messages : 7
Enregistré le : 12 oct. 2009 11:45

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par MAXJEREM »

Bonjour,

Merci de ton aide.
Concernant le programme il m'est difficile de donner plus details, pour des raisons de confidentialité idem pour la page HTM.
Je comprends que tu as besoin de plus de details, mais je ne peux qu'indiquer que ce que j'ai déjà expliqué.
Voici un exemple d'un script que l'on m'a conseillé mais qui ne fonctionne pas:
i=1;
while (not eof('d:\maxjerem\apli.txt))
exec "copy i !! ".tmp" apli.lst"
exec "d:\maxjerem\toto.exe /cmd=testall.bif"
exec "copy output.htm i !! ".htm"
i = i +1
end
Note: /CMD=testall.bif, il s'agit d'un fichier qui indique à notre programme comment se connecter à ORACLE avec le nom de l'utilisateur et son mot de passe puis execute une requete à partir du fichier .lst pour chercher la valeur contenue dans lst, et genere un fichier HTM avec toutes les tables liées au nom du fichier lst.
j'espere que tu accepteras cette explication et tu pourras m'aider quand même.
merci par avance
Cordialement
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: besoin d'aide pour ecrire un Script DOS Merci

Message par Laddy »

Le code donné n'est pas du batch.

Ensuite je ne pourrai t'aider plus sans informations

sans le contenu de la page html je ne peux pas créer le fichier html complet

de plus tu peux montrer un fichier html en remplaçant les informations
sinon bon courage pour la suite.

dans la logique ça donnerait ceci
code non testé- pas eu le temps
@echo off
for /f "tokens=1" %%a in ('type toto.txt') do echo %%a > %%a.lst
for /f "tokens=*" %%i in ('dir /b tonrepertoire\*.lst) do (
for /f "tokens=*" %%a in ('type %%i) do toto.exe /cmd=testall.bif >> %%a.html)
)
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Répondre