besoin d'aide pour ecrire un Script DOS Merci
Modérateur : WIN32-[GG]
besoin d'aide pour ecrire un Script DOS Merci
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
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
Re: besoin d'aide pour ecrire un Script DOS Merci
Bonjour
Code testé
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
Poster vos codes sur BatchClipboad.info
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
merci d'etre précis sur la structure de ton fichier txt.@echo off
for /f "tokens=*" %%a in ('type toto.txt') do echo %%a > %%a.tmp
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Poster vos codes sur BatchClipboad.info
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
Re: besoin d'aide pour ecrire un Script DOS Merci
Pourquoi ne pas supprimer les espaces manuellement ?
ensuite pourquoi ne pas faire directement en html ??
au final il contient quoi ton fichier html ?
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
Poster vos codes sur BatchClipboad.info
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
autant le faire directement
pour les espaces jai modifié le tokens=* en tokens=1 il ne prendra plus l'espace.@echo off
for /f "tokens=1" %%a in ('type toto.txt') do echo %%a > %%a.lst
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
Poster vos codes sur BatchClipboad.info
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
Re: besoin d'aide pour ecrire un Script DOS Merci
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
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
Poster vos codes sur BatchClipboad.info