none
Comment modifier un fichier en gardant les retours à la ligne ? RRS feed

  • Question

  • Bonjour,

    Pour modifier un fichier avec une expression régulière, je fais ceci :

    $fichier = Get-Content D:\Temp\Test.txt

    $fichier = [Regex]::Replace($fichier, "Chaine1", "Chaine2")

    $fichier | Out-File D:\Temp\Test2.txt

    Mais, les retours à la ligne sont perdus dans le fichier final. Comment faire ?

    Merci pour votre aide.

    mardi 10 août 2010 12:45

Réponses

  • Bonjour,

    ################################

    $fichier = Get-Content c:\Temp\Test1.txt
    $i=0
    Foreach ($Chaine in $fichier)
    {

         $Chaine=$Chaine -Replace ("Chaine1", "Chaine2")
     $fichier[$i]=$Chaine
     write-host $fichier[$i]
     $i++
    }

    $fichier | Out-File c:\Temp\Test2.txt

    ################################

    J'ai laissé $fichier comme variable pour que tu te retrouve un peu mieux dans le script, mais il s'agit en fait d'une collection de chaine. Une variable nommée $colChainesFromFichier serait plus appropriée.

    Cldt, David.


    MCSE, MCITP Exchange 2K7 & 2K10
    mercredi 11 août 2010 10:14

Toutes les réponses

  • Bonjour,

    ################################

    $fichier = Get-Content c:\Temp\Test1.txt
    $i=0
    Foreach ($Chaine in $fichier)
    {

         $Chaine=$Chaine -Replace ("Chaine1", "Chaine2")
     $fichier[$i]=$Chaine
     write-host $fichier[$i]
     $i++
    }

    $fichier | Out-File c:\Temp\Test2.txt

    ################################

    J'ai laissé $fichier comme variable pour que tu te retrouve un peu mieux dans le script, mais il s'agit en fait d'une collection de chaine. Une variable nommée $colChainesFromFichier serait plus appropriée.

    Cldt, David.


    MCSE, MCITP Exchange 2K7 & 2K10
    mercredi 11 août 2010 10:14
  • Ok, merci beaucoup.
    lundi 16 août 2010 08:41