Script MS-DOS

adrenaline28 -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je ne connais pas grand chose en MS-DOS et je cherche à faire un script qui permet de récupérer dans X fichier différent contenu dans un dossier, une partie txt de chaque fichier.
J'aimerais en faite récupérer l'adresse mail de chaque mail que je reçois et la stocker dans un txt.
J'ai déjà quelques pistes

find "AuthorEmail dt" mail.msg > step1.txt

Cette commande me permet de récupérer cette ligne
---------- MAIL.MSG
<o:_AuthorEmail dt:dt=3D"string">***@***</o:_Aut=

Ensuite j'aimerais uniquement récupérer ***@*** le problème c'est qu'il n'y a pas vraiment de séparateur qui me le permette donc j'ai pensé à réaliser 2 FOR.

for /F "tokens=2 delims=>" %i IN (step1.txt) DO set myvar=%i

Pour récupérer ***@***</o:_Aut= (la j'ai un soucis quand je fais echo %myvar% il me met chemin d'accès introuvable car à mon avis il interprète </o:_Aut....

Après j'avais pensais a une commande dans se style :

for /F "tokens=1 delims=<" %i IN (%myvar%) DO set myvar2=%i qui théoriquement devrait me donner uniquement ***@***

Et après l'écrire à la suite des autres adresses dans un fichier echo %myvar% >> contacts.txt

Je n'ai pas trop d'idée pour exécuter automatiquement se script sur tous les fichiers *.msg du dossier courant.



Merci d'avance aux connaisseurs MS-DOS




A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour,

for %%f in (*.msg) do ............. %%f

juste une piste vite fait :)
0
jeannets Messages postés 28245 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 5 989
 
bonjour,

Il y a ça aussi https://fr.emailextractorpro.com/

http://www.aspirateur-email.com/

Sinon, je crois que tu peux faire: find "AuthorEmail dt" mail.msg | sort /+32 > step1.txt

ceci va sortir un fichier texte trié à partir du 32ème caractère... en plus de la recherche primaire.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
C:> for /f "tokens=2 delims=<>" %a in ('find "AuthorEmail dt" ^< mail.msg') do @echo %a
***@***
0