Salut,
Le but de mon script est de copier un fichier en tenant comte du nombre de lignes d'un fichier précédent.

Exemple:
J'ai un fichier A

Fichier A
Azerty
Aztyui
Aqswx
Bngtui
Le fichier A contient 4 lignes

J'ai un autre fichier(qui est un texte)


Fichier B
"L'utilisation d'instructions structurées comme des phrases permet de mémoriser plus simplement un grand nombre de commandes. Cette facilité est toutefois limitée, car elle s'applique uniquement aux personnes qui possèdent un minimum de vocabulaire anglais."(Texte pris sur Wikipedia)
Le but est de modifier le contenu du Fichier B (par exemple "simplement","facilité") puis de copier le Fichier B 4 fois (nombre de lignes du Fichier A)


Voici un exemple de mon script.
Qui réussit à copier un fichier par le nombre de ligne du Fichier A par contre la copie du contenu et le changement des variables restent un casse tête.

PS : Je suis nouveau en programmation et à vrai dire c'est mon premier véritable script

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#Compte le nombre de lignes dans le Fichier A 
write-host = "Ecrivez le fichier à compter"
$FichierA = read-host
$measure = Get-Content $FichierA 
$lines = ($measure | Where-Object {$_ -ne ""}).Count
echo "line count is: ${lines}"
write-host = "Ecrivez le fichier à copier"
$FichierB = read-host
write-host = "Ecrivez les variables à ajouter"
$Variable1 = read-host
$Variable2 = read-host
 
gc -path $FichierB | foreach {$_ -replace "simplement", "$Variable1 "}
gc -path $FichierB | foreach {$_ -replace "facilité", "$Variable2"}
 
$idmax = $lines # nombre maximun de sauvegarde (de 1 à $lines)
$Source = "$env:H:\"
#$destination = "H:\cript\$env:UserName"
$destination = "H:\cripts\Sauvegardes\$env:UserName"
 
# a la premiere execution du script création des repertoires sauvegardes
1..$idmax | ForEach-Object {
    If (-not (Test-Path "$destination\Sauvegarde$_") -and -not (Test-Path "$destination\_Sauvegarde$_")) {
        new-Item -ItemType directory -Path "$destination\Sauvegarde$_" | new-Item -ItemType file -Path "$destination\Sauvegarde$_\FichierB$_.txt"
        Write-Host "----> Sauvegarde $_ cree" -ForegroundColor Green   
        }
    }