[FRsAG] problème avec diu powershell
Bonjour, je reviens vers vous pour un problème simple mais qui commence à peser lourd j'ai un répertoire qui contient beaucoup de document word (une centaine). je veux ajouter une ligne au début de chaque document qui contient la mention document restreint. là j'attaque la tâche avec du powershell tout marche bien, tout est nickel, la ligne s'ajoute et le document est bien modifié. je passe en production et c'est la catastrophe. tout les fichiers qui contiennent dans leur titre un accent ou un caractère spéciale sont catégoriquement rejeté et je ne peux pas les ouvrir. mon script est $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" Try #Open Microsoft Word and add text defined in $key then save { [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type] $word = New-Object -ComObject Word.Application $word.visible = $false $doc = $word.Documents.Add($file1) $selection = $word.Selection $selection.typeText($key) $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) } #Catch #If error occurs send email #{ #Send-MailMessage -from $smtpFrom -subject $messageSubject -body $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 #} Finally #Close Microsoft Word { $word.quit() $word = $null } avec un fichier deploiement_server.docx ça marche pour le même fichier avec le nom déploiement_server.docx ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur suivante Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier introuvable. » Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : 27 + $doc = $word.Documents.Add ($file1) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation est ce que vous avez eu ce genre de problème et comment l'avez vous résolus. si vous avez une autre approche je suis très intéressé de l'entendre Tarik CHICHANE ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] problème avec diu powershell
Quel est l'encodage utilisé pour écrire ton scritp ? Le 3 juin 2015 17:15, tarik chichane a écrit : > Bonjour, > > > je reviens vers vous pour un problème simple mais qui commence à peser > lourd > > j'ai un répertoire qui contient beaucoup de document word (une centaine). > > je veux ajouter une ligne au début de chaque document qui contient la > mention document restreint. > > là j'attaque la tâche avec du powershell > > tout marche bien, tout est nickel, la ligne s'ajoute et le document est > bien modifié. > > je passe en production et c'est la catastrophe. > > tout les fichiers qui contiennent dans leur titre un accent ou un > caractère spéciale > > sont catégoriquement rejeté et je ne peux pas les ouvrir. > > > mon script est > > $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" > #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" > Try > > #Open Microsoft Word and add text defined in $key then save > > { > > [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type] > > $word = New-Object -ComObject Word.Application > > $word.visible = $false > > $doc = $word.Documents.Add($file1) > > $selection = $word.Selection > > $selection.typeText($key) > > $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) > > } > > #Catch > > #If error occurs send email > > #{ > > #Send-MailMessage -from $smtpFrom -subject $messageSubject -body > $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 > > #} > > Finally > > #Close Microsoft Word > > { > > $word.quit() > > $word = $null > } > > avec un fichier deploiement_server.docx ça marche > > pour le même fichier avec le nom déploiement_server.docx > > ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur > suivante > > Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier > introuvable. » > Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : > 27 > + $doc = $word.Documents.Add ($file1) > + CategoryInfo : NotSpecified: (:) [], > MethodInvocationException > + FullyQualifiedErrorId : ComMethodTargetInvocation > > > est ce que vous avez eu ce genre de problème et comment l'avez vous > résolus. > > si vous avez une autre approche je suis très intéressé de l'entendre > > > Tarik CHICHANE > > > ___ > Liste de diffusion du FRsAG > http://www.frsag.org/ > > ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] problème avec diu powershell
Hum, fonctionne "out of the box" chez moi avec un fichier test.doc et tést.doc Le 3 juin 2015 19:18, Benjamin AVET a écrit : > Quel est l'encodage utilisé pour écrire ton scritp ? > > Le 3 juin 2015 17:15, tarik chichane a > écrit : > >> Bonjour, >> >> >> je reviens vers vous pour un problème simple mais qui commence à peser >> lourd >> >> j'ai un répertoire qui contient beaucoup de document word (une centaine). >> >> je veux ajouter une ligne au début de chaque document qui contient la >> mention document restreint. >> >> là j'attaque la tâche avec du powershell >> >> tout marche bien, tout est nickel, la ligne s'ajoute et le document est >> bien modifié. >> >> je passe en production et c'est la catastrophe. >> >> tout les fichiers qui contiennent dans leur titre un accent ou un >> caractère spéciale >> >> sont catégoriquement rejeté et je ne peux pas les ouvrir. >> >> >> mon script est >> >> $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" >> #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" >> Try >> >> #Open Microsoft Word and add text defined in $key then save >> >> { >> >> [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type] >> >> $word = New-Object -ComObject Word.Application >> >> $word.visible = $false >> >> $doc = $word.Documents.Add($file1) >> >> $selection = $word.Selection >> >> $selection.typeText($key) >> >> $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) >> >> } >> >> #Catch >> >> #If error occurs send email >> >> #{ >> >> #Send-MailMessage -from $smtpFrom -subject $messageSubject -body >> $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 >> >> #} >> >> Finally >> >> #Close Microsoft Word >> >> { >> >> $word.quit() >> >> $word = $null >> } >> >> avec un fichier deploiement_server.docx ça marche >> >> pour le même fichier avec le nom déploiement_server.docx >> >> ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur >> suivante >> >> Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier >> introuvable. » >> Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : >> 27 >> + $doc = $word.Documents.Add ($file1) >> + CategoryInfo : NotSpecified: (:) [], >> MethodInvocationException >> + FullyQualifiedErrorId : ComMethodTargetInvocation >> >> >> est ce que vous avez eu ce genre de problème et comment l'avez vous >> résolus. >> >> si vous avez une autre approche je suis très intéressé de l'entendre >> >> >> Tarik CHICHANE >> >> >> ___ >> Liste de diffusion du FRsAG >> http://www.frsag.org/ >> >> > > ___ > Liste de diffusion du FRsAG > http://www.frsag.org/ > > ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] problème avec diu powershell
Bonsoir, En forcant le passage en nom court 8.3 ? > Le 3 juin 2015 à 19:31, Lucas a écrit : > > Hum, fonctionne "out of the box" chez moi avec un fichier test.doc et tést.doc > > Le 3 juin 2015 19:18, Benjamin AVET a écrit : >> Quel est l'encodage utilisé pour écrire ton scritp ? >> >> Le 3 juin 2015 17:15, tarik chichane a écrit : >>> Bonjour, >>> >>> >>> je reviens vers vous pour un problème simple mais qui commence à peser lourd >>> >>> j'ai un répertoire qui contient beaucoup de document word (une centaine). >>> >>> je veux ajouter une ligne au début de chaque document qui contient la >>> mention document restreint. >>> >>> là j'attaque la tâche avec du powershell >>> >>> tout marche bien, tout est nickel, la ligne s'ajoute et le document est >>> bien modifié. >>> >>> je passe en production et c'est la catastrophe. >>> >>> tout les fichiers qui contiennent dans leur titre un accent ou un caractère >>> spéciale >>> >>> sont catégoriquement rejeté et je ne peux pas les ouvrir. >>> >>> >>> mon script est >>> >>> $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" >>> #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" >>> Try >>> >>> #Open Microsoft Word and add text defined in $key then save >>> >>> { >>> >>> [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type] >>> >>> $word = New-Object -ComObject Word.Application >>> >>> $word.visible = $false >>> >>> $doc = $word.Documents.Add($file1) >>> >>> $selection = $word.Selection >>> >>> $selection.typeText($key) >>> >>> $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) >>> >>> } >>> >>> #Catch >>> >>> #If error occurs send email >>> >>> #{ >>> >>> #Send-MailMessage -from $smtpFrom -subject $messageSubject -body >>> $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 >>> >>> #} >>> >>> Finally >>> >>> #Close Microsoft Word >>> >>> { >>> >>> $word.quit() >>> >>> $word = $null >>> } >>> >>> avec un fichier deploiement_server.docx ça marche >>> >>> pour le même fichier avec le nom déploiement_server.docx >>> >>> ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur >>> suivante >>> >>> Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier >>> introuvable. » >>> Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : 27 >>> + $doc = $word.Documents.Add ($file1) >>> + CategoryInfo : NotSpecified: (:) [], >>> MethodInvocationException >>> + FullyQualifiedErrorId : ComMethodTargetInvocation >>> >>> >>> est ce que vous avez eu ce genre de problème et comment l'avez vous résolus. >>> >>> si vous avez une autre approche je suis très intéressé de l'entendre >>> >>> >>> Tarik CHICHANE >>> >>> >>> ___ >>> Liste de diffusion du FRsAG >>> http://www.frsag.org/ >> >> >> ___ >> Liste de diffusion du FRsAG >> http://www.frsag.org/ > > ___ > Liste de diffusion du FRsAG > http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] problème avec diu powershell
Bonsoir, Il faut initialisent correctement les variables. Exemple: $variable = get-content -encoding utf8 Cdlt, Le mer 3 juin 2015 19:36, Erwan Quimbert a écrit : Bonsoir, En forcant le passage en nom court 8.3 ? Le 3 juin 2015 à 19:31, Lucas a écrit : Hum, fonctionne "out of the box" chez moi avec un fichier test.doc et tést.doc Le 3 juin 2015 19:18, Benjamin AVET a écrit : Quel est l'encodage utilisé pour écrire ton scritp ? Le 3 juin 2015 17:15, tarik chichane a écrit : Bonjour, je reviens vers vous pour un problème simple mais qui commence à peser lourd j'ai un répertoire qui contient beaucoup de document word (une centaine). je veux ajouter une ligne au début de chaque document qui contient la mention document restreint. là j'attaque la tâche avec du powershell tout marche bien, tout est nickel, la ligne s'ajoute et le document est bien modifié. je passe en production et c'est la catastrophe. tout les fichiers qui contiennent dans leur titre un accent ou un caractère spéciale sont catégoriquement rejeté et je ne peux pas les ouvrir. mon script est $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" Try #Open Microsoft Word and add text defined in $key then save { [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type] $word = New-Object -ComObject Word.Application $word.visible = $false $doc = $word.Documents.Add($file1) $selection = $word.Selection $selection.typeText($key) $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) } #Catch #If error occurs send email #{ #Send-MailMessage -from $smtpFrom -subject $messageSubject -body $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 #} Finally #Close Microsoft Word { $word.quit() $word = $null } avec un fichier deploiement_server.docx ça marche pour le même fichier avec le nom déploiement_server.docx ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur suivante Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier introuvable. » Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : 27 + $doc = $word.Documents.Add ($file1) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation est ce que vous avez eu ce genre de problème et comment l'avez vous résolus. si vous avez une autre approche je suis très intéressé de l'entendre Tarik CHICHANE ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] problème avec diu powershell
Bonjour, je vous remercie pour tous pour vos conseils et assistances. j'ai résolus le problème en changeant juste l'encodage du script powershell lui même (notepad++ menu encodage). je l'ai passé en utf16-BE et ça a résout le problème Merci une deuxième Fois pour votre aide généreuse. > Le 4 juin 2015 11:44, tarik chichane a > écrit : > >> bonjour, >> >> est c que tu peux me dire quel encodage tu utilise dans ton interpréteur >> powershell, sinon c'est quoi l'interpréteur powershell que tu utilises. >> >> Merci 1000 fois d'avance >> >> Tarik CHICHANE >> >> >> Le 3 juin 2015 18:31, Lucas a écrit : >> >>> Hum, fonctionne "out of the box" chez moi avec un fichier test.doc et >>> tést.doc >>> >>> Le 3 juin 2015 19:18, Benjamin AVET a écrit : >>> Quel est l'encodage utilisé pour écrire ton scritp ? Le 3 juin 2015 17:15, tarik chichane a écrit : > Bonjour, > > > je reviens vers vous pour un problème simple mais qui commence à peser > lourd > > j'ai un répertoire qui contient beaucoup de document word (une > centaine). > > je veux ajouter une ligne au début de chaque document qui contient la > mention document restreint. > > là j'attaque la tâche avec du powershell > > tout marche bien, tout est nickel, la ligne s'ajoute et le document > est bien modifié. > > je passe en production et c'est la catastrophe. > > tout les fichiers qui contiennent dans leur titre un accent ou un > caractère spéciale > > sont catégoriquement rejeté et je ne peux pas les ouvrir. > > > mon script est > > $file1 = "D:/matricule/DéPLOIMENT_V1.2.docx" > #$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx" > Try > > #Open Microsoft Word and add text defined in $key then save > > { > > [ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as > [type] > > $word = New-Object -ComObject Word.Application > > $word.visible = $false > > $doc = $word.Documents.Add($file1) > > $selection = $word.Selection > > $selection.typeText($key) > > $doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument) > > } > > #Catch > > #If error occurs send email > > #{ > > #Send-MailMessage -from $smtpFrom -subject $messageSubject -body > $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25 > > #} > > Finally > > #Close Microsoft Word > > { > > $word.quit() > > $word = $null > } > > avec un fichier deploiement_server.docx ça marche > > pour le même fichier avec le nom déploiement_server.docx > > ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur > suivante > > Exception lors de l'appel de « Add » avec « 1 » argument(s) : « > Fichier introuvable. » > Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 > Caractère : 27 > + $doc = $word.Documents.Add ($file1) > + CategoryInfo : NotSpecified: (:) [], > MethodInvocationException > + FullyQualifiedErrorId : ComMethodTargetInvocation > > > est ce que vous avez eu ce genre de problème et comment l'avez vous > résolus. > > si vous avez une autre approche je suis très intéressé de l'entendre > > > Tarik CHICHANE > > > ___ > Liste de diffusion du FRsAG > http://www.frsag.org/ > > ___ Liste de diffusion du FRsAG http://www.frsag.org/ >>> >>> ___ >>> Liste de diffusion du FRsAG >>> http://www.frsag.org/ >>> >>> >> > ___ Liste de diffusion du FRsAG http://www.frsag.org/