Problème d’espaces Powershell V3 vers Powershell V2

Il semblerait que certains espaces créés via l’ISE de Windows 8/8.1 et 10 n’ai pas le même code ASCII que celui de Windows 7. En effet lorsque vous convertissez l’espace de Windows 10 il vous sort un caractère 160 alors que celui de windows 7 est le numéro 32.

Pas de panique, vous trouverez ci joint la solution pour convertir les espaces de votre script.

$FileSource = 'D:\test\Script_desinstallationV2.ps1'
 $fileDest = 'D:\test\Script_desinstallationV2Corigee.ps1'
"" | set-content $filedest -force
 $FileContent = get-content $FileSource 
 foreach($ligne in $filecontent){
 # Pour chaque caractère 160 dans la ligne, le remplacer par 32
 $newligne = ""
 for ($i = 0; $i -lt $ligne.length; $i++) {
 if([int][char]$ligne.substring($i,1) -eq 160){$newligne+=[char]32}
 else {$newligne+=$ligne.substring($i,1)}
 
 }
 $newligne | add-content $fileDest
 }

 

Laisser un commentaire