« PowerShell/Données/Texte » : différence entre les versions

Page créée avec « {{Sommaire}} Les données de type texte et différents traitements. == Suppression de retour chariot et saut de ligne (CR et LF) == <source> <# Description : traitement d'un document texte possédant des retours chariots (CR) et des saut de ligne (LF) ; le but est d'optimiser le contenu pour être ensuite imprimé Usage : exercice en PowerShell Auteur : fylip22 Version : 1.0 Révisions : - 1.0 (02/12/2024) : création du script #> $texte = "... »
 
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 36 : Ligne 36 :
$texte  
$texte  
</source>
</source>
== Alignement de textes ==
Pour aligner du texte et des valeurs numérique :
<source>
$longueur1 = 30
$longueur2 = 8
$montant1 = 1234
$montant2 = 12
$montant3 = 54321
$separateur = "."
Clear-Host
"Bonjour ".PadRight($longueur, $separateur) + " : " + "$montant1".PadLeft($longueur2)
"Bonjour, il fait beau ! ".PadRight($longueur, $separateur) + " : " + "$montant2".PadLeft($longueur2)
"Bonjour, c'est ici que ? ".PadRight($longueur, $separateur) + " : " + "$montant3".PadLeft($longueur2)
Write-Host
</source>
Résultat
<pre>
Bonjour ...................... :    1234
Bonjour, il fait beau ! ...... :      12
Bonjour, c'est ici que ? ..... :    54321
</pre>
== Récupération d'une partie d'un texte ==
Récupération du texte qui suit une chaine de caractère recherchée :
<source>
$fichier = "C:\Outil\Script\PSHANN001.ps1"
$monTexte = Get-Content -Path $fichier -Raw | Select-String -Pattern "description\s+:\s*(.*)" | ForEach-Object { $_.Matches.Groups[1].Value }
</source>
== Analyse syntaxique de données ==
{{youtube2
| Nom de la chaine    = French DevOps & PowerShell User Group
| URL de la chaine    = https://www.youtube.com/@FrenchPowerShellUserGroup
| Intitulé de la vidéo = FrPSUG 2016/09/20 Analyse syntaxique de données avec Microsoft PowerShell (Francois-Xavier Cat)
| ID de la vidéo      = sCd8YufeyUI
| Date                = 20/09/2016
| Durée                = 1 h 8 min 43 s
| Commentaire 1        = [https://lazywinadmin.com lazywinadmin.com]
| Commentaire 2        = [https://github.com/lazywinadmin github.com/lazywinadmin]
}}


== Voir aussi ==
== Voir aussi ==

Dernière version du 18 octobre 2026 à 22:35

Les données de type texte et différents traitements.

Suppression de retour chariot et saut de ligne (CR et LF)

<#
Description : traitement d'un document texte possédant des retours chariots (CR) et des saut de ligne (LF) ; le but est d'optimiser le contenu pour être ensuite imprimé
Usage       : exercice en PowerShell
Auteur      : fylip22
Version     : 1.0
Révisions   :
	- 1.0 (02/12/2024) : création du script
#>

$texte = "
00:00:01 Présentateur 1
Bonjour. Il faut beau aujourd'hui
00:00:10
Bonjour
00:00:11 Présentateur 2
Comment ça va ?
00:00:12 Présentateur 3
Je suis content d'être ici aujourd'hui
00:00:29
Comment ?
"

# suppression de CR et LF après le texte "présentateur" (CR : carriage return, retour chariot ; LF : line feed, saut de ligne)
$texte = $texte -replace "(Présentateur [1-9])(\r\n)" ,"`$1 : "

# suppression de CR et LF après le compteur de type 00:00:00 (CR : carriage return, retour chariot ; LF : line feed, saut de ligne)
$texte = $texte -replace "([\d]{2}:[\d]{2}:[\d]{2})(\r\n)" ,"`$1 : "

# affichage du résultat
$texte

Alignement de textes

Pour aligner du texte et des valeurs numérique :

$longueur1 = 30
$longueur2 = 8
$montant1 = 1234
$montant2 = 12
$montant3 = 54321
$separateur = "."
Clear-Host
"Bonjour ".PadRight($longueur, $separateur) + " : " + "$montant1".PadLeft($longueur2)
"Bonjour, il fait beau ! ".PadRight($longueur, $separateur) + " : " + "$montant2".PadLeft($longueur2)
"Bonjour, c'est ici que ? ".PadRight($longueur, $separateur) + " : " + "$montant3".PadLeft($longueur2)
Write-Host

Résultat

Bonjour ...................... :     1234
Bonjour, il fait beau ! ...... :       12
Bonjour, c'est ici que ? ..... :    54321

Récupération d'une partie d'un texte

Récupération du texte qui suit une chaine de caractère recherchée :

$fichier = "C:\Outil\Script\PSHANN001.ps1"
$monTexte = Get-Content -Path $fichier -Raw | Select-String -Pattern "description\s+:\s*(.*)" | ForEach-Object { $_.Matches.Groups[1].Value }

Analyse syntaxique de données

hqdefault.jpg
Youtube, French DevOps & PowerShell User Group, FrPSUG 2016/09/20 Analyse syntaxique de données avec Microsoft PowerShell (Francois-Xavier Cat)

Voir aussi

  •