use strict; use File::DosGlob 'glob'; use Win32::OLE; my $Dir = shift @ARGV; chdir $Dir; my $Word = Win32::OLE->new('Word.Application', 'Quit'); #Title wdPropertyTitle #Subject wdPropertySubject #Author wdPropertyAuthor #Manager wdPropertyManager #Company wdPropertyCompany #Category wdPropertyCategory #Keywords wdPropertyKeywords #Comments wdPropertyComments #Hyperlink base wdPropertyHyperlinkbase foreach my $File (sort (<*.doc>, <*.dot>)) { my $Doc = $Word->Documents->Open("$Dir\\$File"); my $Title = $Doc->BuiltinDocumentProperties("Title")->Value; my $Subject = $Doc->BuiltinDocumentProperties("Subject")->Value; my $Author = $Doc->BuiltinDocumentProperties("Author")->Value; my $Size = $Doc->BuiltinDocumentProperties("Number of bytes")->Value; my $keywords = $Doc->BuiltinDocumentProperties("Keywords")->Value; my $Comments = $Doc->BuiltinDocumentProperties("Comments")->Value; my $Hyperlinkbase = $Doc->BuiltinDocumentProperties("Hyperlink base")->Value; my $Category = $Doc->BuiltinDocumentProperties("Category")->Value; my $Manager = $Doc->BuiltinDocumentProperties("Manager")->Value; # my $Date = $Doc->BuiltinDocumentProperties("Last savetime")->Value; $Doc->Close; printf "Document %s\n Titre %s\n Taille %5dK\n Sujet %s\n Auteur %s\n mot clés %s\n Commentaires %s\n Categorie %s\n manager %s\n", "$Dir\\$File" , $Title, int($Size/1024), $Subject, $Author, $keywords, $Comments, $Category, $Manager; # , $Date; #substr($Date,0,8); }