Bonjour, le tire est assez clair.

en recherchant j'ai pu trouver ceci : (get-content monFichier) | foreach-object {$_ -replace "OLD", "NEW"} | set-content monFichier
La modification est bien effectuée, mais le fichier s'est retrouvé corrompu .....


Voici mon besoin final plus en détail :

Réaliser 2 scripts pour scanner puis remplacer une chaine de caractère dans des fichiers .doc

Script de scan :
1) Scanner une arborescence à la recherche d'une chaine de caractère (avec des fois des espaces) à l'intérieur des fichiers (sans tenir compte des méta données du fichier).
2) Inscrire dans un fichier le résultat du scan avec :
° le Sous-dossier traité,
° le nombre de fichiers parcourus,
° le nombre de modifications à faire,
° La liste des fichiers à modifier.
3) Pouvoir réutiliser ce fichier résultat en tant que fichier de paramètre pour effectuer dans un second script les modifs.

Script de remplacement :
4) Aller lire le fichier résultat du scan
5) copier dans un dossier de travail l'arborescence qui sera touchée
6) faire le remplacement dans les fichiers.

Chose qui serait pratique, serait d'avoir dans un fichier externe (type .ini) le paramétrage (l'emplacement du dossier parent, l'emplacement du dossier de travail et la chaine recherchée).

Une fois les 2 script passés, il n'y a plus qu'à recopier l'arborescence de l'emplacement de travail vers l'emplacement réell.

Petit dessin :

Emplacement réell :
Sous-dossier_1
Fichier_1.doc
Fichier_2 avec des espaces.doc
Fichier_3.doc
Sous-dossier_2
Fichier_4.doc
Fichier_5.doc
Fichier_6.doc
Fichier_7.doc
Sous-dossier_3
Sous-dossier_4
Fichier_8.doc
Fichier_9.doc
Fichier_10.doc
Fichier_11.doc
Fichier_12.doc
Fichier_13.doc


Emplacement de travail :
Sous-dossier_1
Fichier_1.doc
Fichier_2 avec des espaces.doc
Sous-dossier_2
Fichier_4.doc
Fichier_8.doc
Sous-dossier_3
Sous-dossier_4
Fichier_11.doc


Je me tourne vers powershell car la commande find ou findstr me ramène également des informations dans les tag des fichiers, ce que je souhaite éviter.

Actuellement, je bloque au premier point, et j'aimerai bien un petit coup de pousse .....

J'espère être clair.


A+