Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ La Programmation En Général _ Renommer fichier .doc(x) avec les 10 ou 20 premiers caractères du document

Écrit par : Mac Arthur 27 Nov 2020, 08:08

Bonjour,

J'ai entre les mains un disque défectueux pour un utilisateur qui cherche à récupérer ses données.
Disk Drill après une analyse m'a permis de faire remonter à la surface:
- Quelques répertoires intacts (pas grand chose..)
- De la musique sous forme de 001.mp3, 002.mp3 etc. Les tags étant là pour la plupart d'entre eux, BeaTunes fait des merveilles et mouline inlassablement pour les prochaines 36 heures (185 000 morceaux environ). On verra ensuite...

- J'ai également pleins de répertoires avec des fichiers doc ou docx numérotés 001.doc, 002.doc (1000 fichiers par répertoires 001, 002 etc.).

Un aperçu de ces fichiers montre que le contenu est sans doute intact. Bien sûr, en l'état, ces documents sont pratiquement inutilisables puisqu'on ne sait pas ce qu'il y a dedans.
J'ai cherché sur le net des scripts(?) permettant de renommer ces .doc avec par exemple les 20 premiers caractères du document. Ca ne rendra pas au doc sont titre intilital mais ce sera au moins une ébauche de classement: Savoir si ça parle plutôt des blagounettes de Baron (coucou) ou des commandes Terminal de l'ami Jeanjd63 (re coucou a que).

Qui pourrait m'aider?
Je ne suis pas bon en programmation du tout et donc... au point mort mad.gif

Je suppose également que je ne suis pas le premier à me poser cette question !

Par avance merci à ceux qui vont me dire "mais c'est super fastoche ! regarde..." smile.gif
Mac

Écrit par : jeanjd63 27 Nov 2020, 08:20

Coucou.

Aller un début de piste.

Peux-tu tester la commande suivante (inutile de te préciser par quel moyen laugh.gif)

Code
textutil -info Nom_Fichier.docx | grep Contents

Écrit par : Mac Arthur 27 Nov 2020, 08:45

Il est décidément partout tongue.gif

Alors en adaptant la commande ça donne ça sur un essai de 10 fichiers:

Code
Last login: Fri Nov 27 14:41:39 on ttys000
domhack@iMac ~ % textutil -info Nom_Fichier.doc/Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001001.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001002.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001003.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001004.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001005.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001006.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001007.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001008.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001009.doc /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001010.doc  | grep Contents
Error reading Nom_Fichier.doc/Volumes/SATA3 8To/Disque PYC récupéré/doc copy/Group 2/file001000.doc.  The file doesn’t exist.
  Contents:  Memorandum of Understanding be...
  Contents:  Compte Rendu de l’audience de ...
  Contents:  HOTEL DE LA GARE...
  Contents:  A faire :...
  Contents:  Addendum au contrat du 22/07/2...
  Contents:  M. TOUCH  Sopheap...
  Contents:   HYPERLINK "http://www.boreibo...
  Contents:   ...
domhack@iMac ~ %


Le fichier file1000 est pourtant visible en aperçu.
Pour le reste un début de résultat, même si j'ai l'impression qu'ils n'ont pas été tous screenés (8 résultats seulement)

Écrit par : jeanjd63 27 Nov 2020, 08:48

Alors, pour la commande teste :

Code
textutil -info /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc


Voir s'il y aurait une rubrique plus significative.

Perso je n'ai par foule de fichiers doc smile.gif

Écrit par : Mac Arthur 27 Nov 2020, 08:50

Code
Last login: Fri Nov 27 14:42:17 on ttys000
domhack@iMac ~ % textutil -info /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc
File:  /Volumes/SATA3 8To/Disque PYC récupéré/doc copy/Group 2/file001000.doc
  Type:  Word format
  Size:  63488 bytes
  Length:  6634 characters
  Title:  
  Author:  PYC
  Last Editor:  PYC
  Company:  
  Subject:  
  Keywords:  
  Created:  2016-09-27 00:37:00 +0000
  Last Modified:  2016-09-27 00:37:00 +0000
  Contents:  Accord de financement ...
domhack@iMac ~ %

Écrit par : jeanjd63 27 Nov 2020, 09:03

Ou mieux :

Code
mdls /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc | grep kMDItemDisplayName

Écrit par : Mac Arthur 27 Nov 2020, 09:04

Ca se discute biggrin.gif ou je n'ai pas compris !

Code
Last login: Fri Nov 27 14:52:18 on ttys000
domhack@iMac ~ %
mdls /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc | grep kMDItemDisplayName
_kMDItemDisplayNameWithExtensions      = "file001000.doc"
kMDItemDisplayName                     = "file001000.doc"
domhack@iMac ~ %


Écrit par : jeanjd63 27 Nov 2020, 09:21

Donc que renvoie :

Code
mdls /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc

Écrit par : Mac Arthur 27 Nov 2020, 09:22

Code
Last login: Fri Nov 27 15:06:17 on ttys000
domhack@iMac ~ % mdls /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/doc\ copy/Group\ 2/file001000.doc
_kMDItemDisplayNameWithExtensions      = "file001000.doc"
kMDItemAuthors                         = (
    "PYC3
)
kMDItemContentCreationDate             = 2020-11-25 01:17:42 +0000
kMDItemContentCreationDate_Ranking     = 2020-11-25 00:00:00 +0000
kMDItemContentModificationDate         = 2020-11-25 01:17:42 +0000
kMDItemContentModificationDate_Ranking = 2020-11-25 00:00:00 +0000
kMDItemContentType                     = "com.microsoft.word.doc"
kMDItemContentTypeTree                 = (
    "com.microsoft.word.doc",
    "public.data",
    "public.item"
)
kMDItemDateAdded                       = 2020-11-27 07:38:16 +0000
kMDItemDateAdded_Ranking               = 2020-11-27 00:00:00 +0000
kMDItemDisplayName                     = "file001000.doc"
kMDItemDocumentIdentifier              = 0
kMDItemFSContentChangeDate             = 2020-11-25 01:17:42 +0000
kMDItemFSCreationDate                  = 2020-11-25 01:17:42 +0000
kMDItemFSCreatorCode                   = ""
kMDItemFSFinderFlags                   = 0
kMDItemFSHasCustomIcon                 = (null)
kMDItemFSInvisible                     = 0
kMDItemFSIsExtensionHidden             = 0
kMDItemFSIsStationery                  = (null)
kMDItemFSLabel                         = 0
kMDItemFSName                          = "file001000.doc"
kMDItemFSNodeCount                     = (null)
kMDItemFSOwnerGroupID                  = 80
kMDItemFSOwnerUserID                   = 501
kMDItemFSSize                          = 63488
kMDItemFSTypeCode                      = ""
kMDItemInterestingDate_Ranking         = 2020-11-25 00:00:00 +0000
kMDItemKind                            = "Microsoft Word 97 - 2004 document (.doc)"
kMDItemLogicalSize                     = 63488
kMDItemPhysicalSize                    = 65536
domhack@iMac ~ %

Écrit par : jeanjd63 27 Nov 2020, 09:48

Donc textutil serait le mieux :

Contents: Accord de financement

Reste à intégrer cela dans une commande Find.
On verra ça plus tard. smile.gif

Écrit par : Vincent 27 Nov 2020, 10:02

Sinon, pour 25€
https://www.publicspace.net/ABetterFinderRename/Version11.html

Écrit par : Mac Arthur 27 Nov 2020, 10:05

Citation (Vincent @ 27 Nov 2020, 16:02) *
Sinon, pour 25€
https://www.publicspace.net/ABetterFinderRename/Version11.html



J'ai regardé tongue.gif
C'est ultra complet mais je ne vois pas d'option permettant d'aller chercher une chaîne de caractères à l'intérieur d'un document...

Écrit par : jeanjd63 27 Nov 2020, 12:51

Donc tu peux commencer par voir avec ces 2 commandes (totalement gratuites biggrin.gif) si déjà tu trouves des infos :

Code
find /Volumes/SATA3\ 8To/Disque\ PYC\ récupéré/ -name "*doc" -exec textutil -info {} + > Fichier.txt


Puis

Code
grep -e File -e Contents -e Title Fichier.txt


Il y a création d'un fichier Fichier.txt sur la racine de ton espace utilisateur.

Écrit par : Mac Arthur 27 Nov 2020, 13:47

Ok ça semble marcher mais:
- La longueur de l'item "content" qui reprend je suppose le début du document n'est pas suffisante pour commencer à donner un caractère explicite au document. Est-ce paramétrable?
- Plus génant, ce fichier .txt est en fait une table des matière dans laquelle on irait chercher les infos, puis, à l'aide du numéro de fichier me permettrait de retrouver le bon doc.
En théorie ça marche mais j'aimerais bien renommer ces 001.doc, 002.doc directement avec ce content en allongeant son contenu....

Je sais je suis un peu... tongue.gif

Citation (Vincent @ 27 Nov 2020, 16:02) *
Sinon, pour 25€
https://www.publicspace.net/ABetterFinderRename/Version11.html



Réponse du service client (très réactif sur ce coup là !):
"Hi,

I'm afraid A Better Finder Rename does not read microsoft word meta-data..

Best regards,

Frank

Écrit par : jeanjd63 27 Nov 2020, 13:51

Citation (Mac Arthur @ 27 Nov 2020, 13:47) *
Ok ça semble marcher mais:
- La longueur de l'item "content" qui reprend je suppose le début du document n'est pas suffisante pour commencer à donner un caractère explicite au document. Est-ce paramétrable?
- Plus génant, ce fichier .txt est en fait une table des matière dans laquelle on irait chercher les infos, puis, à l'aide du numéro de fichier me permettrait de retrouver le bon doc.
En théorie ça marche mais j'aimerais bien renommer ces 001.doc, 002.doc directement avec ce content en allongeant son contenu....

Je sais je suis un peu... tongue.gif

......


Alors je n'ai pas dit que là nous avions une solution clé en main.
Il faut commencer par vérifier si tu trouves des infos acceptables et si oui il faudra travailler encore un peu, mais comme dirait Hassan Céèf pas de problèmes, on peut le faire. biggrin.gif

Écrit par : Mac Arthur 27 Nov 2020, 14:09

Je me doutais bien qu'on était pas au bout rolleyes.gif

un extrait du fichier...

Code
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001644.doc
  Type:  Word format
  Size:  32768 bytes
  Length:  6878 characters
  Title:  ILE DE KOH KONG,
  Author:  pacific computer
  Last Editor:  MR xxx
  Company:  pacific computer, phnom penh
  Created:  2001-06-19 02:31:00 +0000
  Last Modified:  2002-06-20 09:37:00 +0000
  Contents:  KOH KONG...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001122.doc
  Type:  Word format
  Size:  39424 bytes
  Length:  956 characters
  Title:  Facturée à Ratanakiri / Invoiced at Ratanakiri
  Author:  Mr.xxx
  Last Editor:  Rafael Rxx
  Created:  2006-01-11 08:55:00 +0000
  Last Modified:  2009-01-07 09:12:00 +0000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001136.doc
  Type:  Word format
  Size:  39424 bytes
  Length:  933 characters
  Title:  Facturée à Ratanakiri / Invoiced at Ratanakiri
  Author:  Mr.xxx
  Last Editor:  Rafael xxx
  Created:  2006-01-11 08:55:00 +0000
  Last Modified:  2008-09-08 01:41:00 +0000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001888.doc
  Type:  Word format
  Size:  29696 bytes
  Length:  2066 characters
  Author:  Mr.xx
  Last Editor:  TERRES ROUGES
  Created:  2005-12-21 02:23:00 +0000
  Last Modified:  2005-12-21 02:23:00 +0000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001650.doc
  Type:  Word format
  Size:  26624 bytes
  Length:  6691 characters
  Author:  Frederic xx
  Last Editor:  pacific computer
  Company:  Phnom Penh, Cambodia
  Created:  2001-06-02 04:08:00 +0000
  Last Modified:  2001-08-28 07:51:00 +0000
  Contents:  SIEM REAP : SIX DOLLARS LE TOU...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001452.doc
  Type:  Word format
  Size:  1437184 bytes
  Length:  171335 characters
  Title:  Microsoft Office 2000
  Author:  SR
  Last Editor:  TERRES xxx
  Company:  -
  Subject:  Use for Font Limon for Microsoft Office 2000.
  Keywords:  Normal Template
  Created:  2006-05-06 07:25:00 +0000
  Last Modified:  2006-05-07 08:45:00 +0000
  Contents:  D’une culture de guerre à une ...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001334.doc
  Type:  Word format
  Size:  36864 bytes
  Length:  11958 characters
  Title:  Microsoft Office 2000
  Author:  TERRES xxx
  Last Editor:  TERRES xxx
  Company:  -
  Subject:  Use for Font Limon for Microsoft Office 2000.
  Keywords:  Normal Template
  Created:  2006-04-26 13:53:00 +0000
  Last Modified:  2006-04-26 13:53:00 +0000
  Contents:  Les Relais du Rien...


L'item "content" n'est pas toujours présent. Peut-être du au format du .doc (différentes versions de Word? Je ne sais pas...

Écrit par : jeanjd63 27 Nov 2020, 15:03

As-tu essayé de passer la commande suivante ?

Écrit par : Mac Arthur 27 Nov 2020, 23:56

Coucou matinal...
Oui le retour que je te donne est bien celui obtenu après passage des 2 commandes.

Écrit par : jeanjd63 28 Nov 2020, 09:03

Citation (Mac Arthur @ 27 Nov 2020, 23:56) *
Coucou matinal...
Oui le retour que je te donne est bien celui obtenu après passage des 2 commandes.



Salut.

Tu listes le fichier, mais la seconde commande ne donne qu'un retour à l'écran.
On va arranger ça :

Code
grep -e File -e Contents -e Title Fichier.txt > Fichier_2.txt


Et tu pourras lister le Fichier_2.txt.

Écrit par : Mac Arthur 28 Nov 2020, 13:51

Un extrait, on progresse !

Code
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001042.doc
  Title:  Abt 29/07
  Contents:  Cher abonné, cher fidèle lecte...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001724.doc
  Title:  Microsoft Office 2000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001718.doc
  Title:  Microsoft Office 2000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001095.doc
  Title:  Abt 23-09
  Contents:   Cher abonné, cher fidèle lect...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001081.doc
  Title:  Abt 28-29-30 Mqi
  Contents:  Cher abonné, cher fidèle lecte...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001917.doc
  Title:  Microsoft Office 2000
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001903.doc
  Contents:  FRAIS DE FONCTIONNEMENT MENSUE...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001902.doc
  Title:  FRAIS DE FONCTIONNEMENT MENSUELS
  Contents:  FRAIS DE FONCTIONNEMENT MENSUE...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001916.doc
  Contents:  Pool Rules & Regulations...
File:  /Volumes/SATA3 8To/Disque PYC récupéré//doc copy/Group 2/file001080.doc
  Title:  Abt 14-15-16/05
  Contents:  Cher abonné, cher fidèle lecte...

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)