Question Page 105
- Olivier
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 182
- Remerciements reçus 0
il y a 14 ans 10 mois #3843
par Olivier
Bonjour à tous !
À la page 105, il est stipulé \"L'instruction Switch accepte également les expression régulières, pour cela il suffit de spécifier le paramètre -casesesitive:
Exemple
[code:1]Write-Host 'Entrez une chaine'
$chaine = Read-Host
Switch -regex ($chaine)
{
'^[aeiouy]' {Write-Host 'La chaine saisie commence par une voyelle'}
'^[^aeiouy]' {Write-Host 'La chaine saisie commence par une consonne'}
'^[0-9]' {Write-Host 'La chaine saisie commence par un chiffre'}
}[/code:1]
En fait, ne s'agit-il pas du paramètre -regex au lieu de -casesensitive ?
Il me semble pas que dans cet exemple on traite la casse ...
Le plus important, pour les débutants, on voit arriver de nouveaux caractères ^[ et ^[^.
Après recherche dans le bouquin, il n'y a pas trop d'explication et c'est en cherchant (google est mon ami
) qu'on trouve ce genre d'explications ->
technet.microsoft.com/fr-fr/magazine/2007.11.powershell.aspx
(cité par Maître Petitjean le 27 janvier ... 
Est-ce qu'il existe une traduction de ces caractères et peut-être d'autres concernant ce cas ?
Les expressions régulières devraient être à mons avis abordées plus en détail étant donné que des exemple y font référence ...
Merci pour vos prochaines réponses et explications
Olivier
À la page 105, il est stipulé \"L'instruction Switch accepte également les expression régulières, pour cela il suffit de spécifier le paramètre -casesesitive:
Exemple
[code:1]Write-Host 'Entrez une chaine'
$chaine = Read-Host
Switch -regex ($chaine)
{
'^[aeiouy]' {Write-Host 'La chaine saisie commence par une voyelle'}
'^[^aeiouy]' {Write-Host 'La chaine saisie commence par une consonne'}
'^[0-9]' {Write-Host 'La chaine saisie commence par un chiffre'}
}[/code:1]
En fait, ne s'agit-il pas du paramètre -regex au lieu de -casesensitive ?
Il me semble pas que dans cet exemple on traite la casse ...
Le plus important, pour les débutants, on voit arriver de nouveaux caractères ^[ et ^[^.
Après recherche dans le bouquin, il n'y a pas trop d'explication et c'est en cherchant (google est mon ami


Est-ce qu'il existe une traduction de ces caractères et peut-être d'autres concernant ce cas ?
Les expressions régulières devraient être à mons avis abordées plus en détail étant donné que des exemple y font référence ...
Merci pour vos prochaines réponses et explications

Olivier
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 14 ans 10 mois #3844
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Page 105
Salut,
Olivier écrit:
Ensuite sur les forums de ce site il y a qq posts contenant de nombreux liens vers des tutoriels US, des outils et des documents de référence rapide.
Recherche sur les forums avec le mot clé Regex
Une autre infos à propos de Switch, le paramètre $_ référence l'élément en cours d'analyse, ce qui peut provoquer qq soucis si on couple une instruction Switch avec le pipeline.
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
switch ($_.Extension)
{
\".txt\" {\"Texte : $_\"}
\".ps1\" {\"Script : $_\"}
\".exe\" {\"Exécutable : $_\"}
}
}
[/code:1]
Dans ce cas il faut mémoriser l'objet courant issu du pipeline :
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
$Current=$_
switch ($_.Extension)
{
\".txt\" {\"Texte : $Current\"}
\".ps1\" {\"Script : $Current\"}
\".exe\" {\"Exécutable : $Current\"}
}
}
[/code:1]
Ensuite, je laisse aux auteurs le soin de répondre aux questions restantes.<br><br>Message édité par: Laurent Dardenne, à: 28/01/09 12:11
Olivier écrit:
Sur MSDN tu trouveras la doc du moteur de regex spécifique à .NET.Est-ce qu'il existe une traduction de ces caractères et peut-être d'autres concernant ce cas ?
Ensuite sur les forums de ce site il y a qq posts contenant de nombreux liens vers des tutoriels US, des outils et des documents de référence rapide.
Recherche sur les forums avec le mot clé Regex
Une autre infos à propos de Switch, le paramètre $_ référence l'élément en cours d'analyse, ce qui peut provoquer qq soucis si on couple une instruction Switch avec le pipeline.
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
switch ($_.Extension)
{
\".txt\" {\"Texte : $_\"}
\".ps1\" {\"Script : $_\"}
\".exe\" {\"Exécutable : $_\"}
}
}
[/code:1]
Dans ce cas il faut mémoriser l'objet courant issu du pipeline :
[code:1]
Dir |Where-Object { ($_.PSIsContainer -eq 0)} |% {
$Current=$_
switch ($_.Extension)
{
\".txt\" {\"Texte : $Current\"}
\".ps1\" {\"Script : $Current\"}
\".exe\" {\"Exécutable : $Current\"}
}
}
[/code:1]
Ensuite, je laisse aux auteurs le soin de répondre aux questions restantes.<br><br>Message édité par: Laurent Dardenne, à: 28/01/09 12:11
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.076 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
Nos livres sur PowerShell
-
Table ronde
- Page 105