[Résolu] Ressortir une chaine de mots d'un fichier
Modérateur : WIN32-[GG]
[Résolu] Ressortir une chaine de mots d'un fichier
Bonjour,
Et tout d'abord félicitation pour ce merveilleux petit forum d'entraide.
J'ai plusieurs questions, et je les poserai distinctement sur différents posts pour une meilleur clareté de résolution.
Après avoir passé ma nuit a me pondre des fichiers test, je ne suis pas encore parvenu à extraire et traiter un simple mot présent dans un fichier.
Je cherche à ouvrir un fichier type c:\plop\paf.log, à y lire le mot ou la chaine de mot présente (genre un chemin de fichier), et à l'employer dans mon batch principal. Genre, " cd <la chaine de mot du fichier en question> "
J'imagine que c'est très simple mais mes essais ne sont pas concluent ATM
Merci merci ! ^^
Et tout d'abord félicitation pour ce merveilleux petit forum d'entraide.
J'ai plusieurs questions, et je les poserai distinctement sur différents posts pour une meilleur clareté de résolution.
Après avoir passé ma nuit a me pondre des fichiers test, je ne suis pas encore parvenu à extraire et traiter un simple mot présent dans un fichier.
Je cherche à ouvrir un fichier type c:\plop\paf.log, à y lire le mot ou la chaine de mot présente (genre un chemin de fichier), et à l'employer dans mon batch principal. Genre, " cd <la chaine de mot du fichier en question> "
J'imagine que c'est très simple mais mes essais ne sont pas concluent ATM
Merci merci ! ^^
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres
Re: Ressortir une chaine de mots d'un fichier
Bonjour,
Regarde ce post il donne un exemple pour une recherche de chaine de caractères dans plusieurs fichiers et plusieurs dossiers.
Si sa ne répond pas a tes attentes, fait en moi part
Bon crourage
Regarde ce post il donne un exemple pour une recherche de chaine de caractères dans plusieurs fichiers et plusieurs dossiers.
Si sa ne répond pas a tes attentes, fait en moi part
Bon crourage
Re: Ressortir une chaine de mots d'un fichier
Coucou Flox et mercie de ta rapidité de réponse,
A vrai dire, je n'ai pas poster sans avoir parcouru tous ces posts. Je vais m'y re atteler au cas ou j'aurais loupé quelque chose. Mais il me semble que ce que je cherche à faire est bcp plus simple. Je cherche juste à ouvrir un fichier txt, a en recupérer la première ligne, et à l'inclure dans la synthaxe de mon batch principal. Vu la manière dont j'en parle, ca semble simple mais a priori suffisament dur pour me bloquer hihihi.
merci merci
A vrai dire, je n'ai pas poster sans avoir parcouru tous ces posts. Je vais m'y re atteler au cas ou j'aurais loupé quelque chose. Mais il me semble que ce que je cherche à faire est bcp plus simple. Je cherche juste à ouvrir un fichier txt, a en recupérer la première ligne, et à l'inclure dans la synthaxe de mon batch principal. Vu la manière dont j'en parle, ca semble simple mais a priori suffisament dur pour me bloquer hihihi.
merci merci
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres
Re: Ressortir une chaine de mots d'un fichier
Bon bon bon 5 heures après j'ai avancé mais je bloque sur un truc.
Après étude du post que tu cites, j'ai essayé de remettre ca a ma sauce, mais qq chose m'échappe.
voila mon code, sachant que la variable dest=c: et la variable destb=D:
Je ne vois pas ou est le prob, car le fichier 04.doc.log est correctement rempli des noms des repertoires y compris le "Mes documents"
Pourtant, lors de l'éxécution, j'obtiens un message d'erreur sur 5 repertoires (le premier pour le nommer est : Accès refusé - D:\APPART\00 PROLOGUE)
et les 4 suivants suivent le même début de chemin. A noter que ce sont des repertoires d'archives photos de mon disque D.
Pour finir le fichier result a des infos dedans mais incomprehensible
Qu'ai je loupé ???
Merci de ton aide ^^
Après étude du post que tu cites, j'ai essayé de remettre ca a ma sauce, mais qq chose m'échappe.
voila mon code, sachant que la variable dest=c: et la variable destb=D:
Code : Tout sélectionner
rem j'essaye d'extraire les repertoires de 'D:' dans mon repertoire 'zback' de mon disque C: (et cela fonctionne)
dir %destb%\ /ad | find "REP" | find "." /V > %dest%\zback\04.doc.log
rem Je reprends a la lettre la syntaxe que tu as exposé dans un autre poste pour filtrer le repertoire appelé "Mes document"
rem et je retourne écrire le résultat dans le repertoire de C:\zback
for /f "tokens=4 delims= " %%a in (%dest%\zback\04.doc.log) do (find %destb%\%%a\* "Mes documents" /C >> %dest%\zback\05.result.log)
Pourtant, lors de l'éxécution, j'obtiens un message d'erreur sur 5 repertoires (le premier pour le nommer est : Accès refusé - D:\APPART\00 PROLOGUE)
et les 4 suivants suivent le même début de chemin. A noter que ce sont des repertoires d'archives photos de mon disque D.
Pour finir le fichier result a des infos dedans mais incomprehensible
Code : Tout sélectionner
---------- D:\APPART\A TABLE !!!.BAK: 0
---------- D:\APPART\A TABLE !!!.PXC: 0
---------- D:\APPART\A TABLE.B01: 0
---------- D:\APPART\A TABLE.B02: 0
---------- D:\APPART\A TABLE.B03: 0
---------- D:\APPART\A TABLE.B04: 0
---------- D:\APPART\A TABLE.B05: 0
---------- D:\APPART\A TABLE.B06: 0
---------- D:\APPART\A TABLE.B07: 0
---------- D:\APPART\A TABLE.B08: 0
---------- D:\APPART\A TABLE.BAK: 0
---------- D:\APPART\A TABLE.PSH: 0
Merci de ton aide ^^
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres
Re: Ressortir une chaine de mots d'un fichier
Bonjour,
je pense que le problème vient de ton arborescence si j'ai bien compris "D:\APPART\00 PROLOGUE" est un sous répertoire de "APPART", si tu regarde ton fichier "%dest%\zback\04.doc.log" tu ne devrais pas le trouver.
Ce problème peut etre résolu en remplaçant la ligne suivante:
par
Sinon avec la commande suivante, tu précise le répertoire "Mes documents" comme terme à rechercher dans tes fichiers D:\APPART\A TABLE.B01. Je ne pense pas que cela soit ce que tu veut faire.
Si sa ne résous pas ton problème post l'arborescence de tes répertoires ainsi que le contenu de tes fichiers temporaire.
Merci
je pense que le problème vient de ton arborescence si j'ai bien compris "D:\APPART\00 PROLOGUE" est un sous répertoire de "APPART", si tu regarde ton fichier "%dest%\zback\04.doc.log" tu ne devrais pas le trouver.
Ce problème peut etre résolu en remplaçant la ligne suivante:
Code : Tout sélectionner
dir %destb%\ /ad | find "REP" | find "." /V > %dest%\zback\04.doc.log
Code : Tout sélectionner
dir %destb%\ /ad /s | find "REP" | find "." /V > %dest%\zback\04.doc.log
Code : Tout sélectionner
for /f "tokens=4 delims= " %%a in (%dest%\zback\04.doc.log) do (find %destb%\%%a\* "Mes documents" /C >> %dest%\zback\05.result.log)
Quel est ce mot présent dans tes fichiers ?je ne suis pas encore parvenu à extraire et traiter un simple mot présent dans un fichier
Si sa ne résous pas ton problème post l'arborescence de tes répertoires ainsi que le contenu de tes fichiers temporaire.
Merci
Re: Ressortir une chaine de mots d'un fichier
Merci pour ta réponse.
Je ne comprends pas malgré tout différents points.
Pourquoi ai je besoin de rajouter /s au dir, puisque dans mon exemple le repertoire "Mes documents" est à la racine de D: (soit la variable destb) ?
Cela devrait fonctionner directement dans chercher les repertoire recursifs non ?
Voila le dir réel de mon D:
Sachant que je cherche dans mon ensemble de code a chercher ou se trouve positionné le repertoire 'Mes docuements' sur mon drive D: quelque soit sa position hierarchique dans l'arborecence des repertoires.
Voici le contenu du fichier 04.doc.log, le listing y est coherent.
Je ne sais pas si c'est très clair ce que je dis
Merci en tt cas.
Je ne comprends pas malgré tout différents points.
Pourquoi ai je besoin de rajouter /s au dir, puisque dans mon exemple le repertoire "Mes documents" est à la racine de D: (soit la variable destb) ?
Cela devrait fonctionner directement dans chercher les repertoire recursifs non ?
Voila le dir réel de mon D:
Code : Tout sélectionner
Le volume dans le lecteur D s'appelle WinData
Le num‚ro de s‚rie du volume est 1867-BA71
R‚pertoire de d:\
30/12/2007 22:20 <REP> appart
25/03/2008 10:33 <REP> Mes documents
25/03/2008 02:13 <REP> tmprar
23/03/2008 21:27 <REP> _Serveur
4 fichier(s) 6ÿ223ÿ806ÿ806 octets
11 R‚p(s) 99ÿ356ÿ946ÿ432 octets libres
Voici le contenu du fichier 04.doc.log, le listing y est coherent.
Code : Tout sélectionner
30/12/2007 22:20 <REP> appart
25/03/2008 10:33 <REP> Mes documents
29/12/2007 02:52 <REP> RECYCLER
29/12/2007 02:52 <REP> System Volume Information
25/03/2008 02:13 <REP> tmprar
23/03/2008 21:27 <REP> _Serveur
Effectivement, et tant mieux, car le repertoire que je veux cibler est le repertoire racine "Mes documents". Je ne vois pas pourquoi il m'affiche avec la ligne FOR... des accès refusés sur 5 repertoires de APPART, alors que je ne cherche absolument pas a traiter ce repertoire.je pense que le problème vient de ton arborescence si j'ai bien compris "D:\APPART\00 PROLOGUE" est un sous répertoire de "APPART", si tu regarde ton fichier "%dest%\zback\04.doc.log" tu ne devrais pas le trouver.
Je ne sais pas si c'est très clair ce que je dis
Merci en tt cas.
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres
Re: Ressortir une chaine de mots d'un fichier
Bon bon bon ^^
Presque 24h de recherche via google et je n'ai toujours pas trouvé ma solution.
Pour faire appel à vous tous et résumer en simple mon probleme, je cherche à reperer un nom de repertoire composé d'un espace (en l'occurence le repertoire 'mes documents'), en laissant l'utilisateur indiquer le lecteur racine après une requete, et en envoyant dans une variable la path complet du repertoir 'Mes documents' après avoir chercher sur le lecteur ou il se trouve.
Merci à tous, surtout si vous avez la solution...car je commence à perdre patience hihihih
lbn
Presque 24h de recherche via google et je n'ai toujours pas trouvé ma solution.
Pour faire appel à vous tous et résumer en simple mon probleme, je cherche à reperer un nom de repertoire composé d'un espace (en l'occurence le repertoire 'mes documents'), en laissant l'utilisateur indiquer le lecteur racine après une requete, et en envoyant dans une variable la path complet du repertoir 'Mes documents' après avoir chercher sur le lecteur ou il se trouve.
Merci à tous, surtout si vous avez la solution...car je commence à perdre patience hihihih
lbn
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres
Re: Ressortir une chaine de mots d'un fichier
J'ai trouvé une solution à mon problème, en trouvant la clé ou est stokée dans la BDR le chemin du répertoire mes documents !
Mon problème initial est donc reglé.
Merci à tous !
Mon problème initial est donc reglé.
Merci à tous !
Il y a 10 types de personne dans le monde.
- Ceux qui comprennent le binaire
- Et il y a les autres
- Ceux qui comprennent le binaire
- Et il y a les autres