Question Powershell, lister des caractères Interdit.

Plus d'informations
il y a 8 ans 9 mois #23769 par Romet
Bonjours;

Je suis actuellement en train de créer un script pour lister les caractère interdit. Mon but est lorsque que je nomme un nom avec l'une des valeurs tel que: @,$,* etc...

Il doit m'afficher le nombre de la valeur interdit et quel est la valeur qui est interdite.

Lorsque j'exécute mon script il m'affiche le nombre de craractère que j'ai insérer dans $ListCaractInterdit, mais il ne m'affiche 3 caractère interdit dans mon $valtest.

Je vous remercie de votre compréhension.

Cdl,

Fichier attaché :
<br><br>Message édité par: Quentinromet, à: 20/06/17 15:53

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #23770 par Laurent Dardenne
Salut,
un bonne habitude à prendre sur les forums, proposer le code qui pose pb, là tu nous donnes du travail de recopie :-)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #23771 par Romet
Excusez-moi, je vous ai mis le liens de mon screen mais apriori vous ne le voyez pas.
Je vous copie mon code ci dessous.

cls
$ListCaractInterdit = @(\&quot;`[\&quot;,\&quot;`\\&quot;,\&quot;`#\&quot;,\&quot;`$\&quot;,\&quot;`%\&quot;,\&quot;`&amp;\&quot;,\&quot;`*\&quot;,\&quot;`+\&quot;,\&quot;`/\&quot;,\&quot;`=\&quot;,\&quot;`?\&quot;,\&quot;`^\&quot;,\&quot;``\&quot;,\&quot;`{\&quot;,\&quot;`}\&quot;,\&quot;`|\&quot;,\&quot;`~\&quot;,\&quot;`&lt;\&quot;,\&quot;`&gt;\&quot;,\&quot;`(\&quot;,\&quot;`)\&quot;,\&quot;`'\&quot;,\&quot;`;\&quot;,\&quot;`:\&quot;,\&quot;`\&quot;\&quot;,\&quot;`@\&quot;,\&quot;`,\&quot;,\&quot;`]\&quot;)
$valtest = \&quot;toto\&quot;
$limit=$ListCaractInterdit.count
$j = 0
for ($i=0;$i -lt $limit; $i++)
{
if ($valtest -match $($ListCaractInterdit[$i]))
{
$j++
write-host $($ListCaractInterdit[$i])
}
}
$limit
$j<br><br>Message édité par: Quentinromet, à: 21/06/17 09:01

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #23774 par Laurent Dardenne
Quentinromet écrit:

Excusez-moi, je vous ai mis le liens de mon screen mais apriori vous ne le voyez pas.

Si, mais tester du code avec une recopie d'écran j'arrive pas :)
Tu utilises des expressions régulière, opérateur -Match, avec des caractères qui ont une signification dans une regex (méta caractères). Il faut donc échapper ces caractères avant de les tester :
[code:1]
cls
$ListCaractInterdit = @(\&quot;[\&quot;,\&quot;;\&quot;,\&quot;\\&quot;,\&quot;#\&quot;,\&quot;$\&quot;,\&quot;%\&quot;,\&quot;&amp;\&quot;,\&quot;*\&quot;,\&quot;+\&quot;,\&quot;/\&quot;,\&quot;=\&quot;,\&quot;?\&quot;,\&quot;^\&quot;,\&quot;``\&quot;,\&quot;{\&quot;,\&quot;}\&quot;,\&quot;|\&quot;,\&quot;~\&quot;,\&quot;&lt;\&quot;,\&quot;&gt;\&quot;,\&quot;(\&quot;,\&quot;«»)\&quot;,\&quot;'\&quot;,\&quot;;\&quot;,\&quot;:\&quot;,\&quot;`\&quot;\&quot;,\&quot;@\&quot;,\&quot;,\&quot;,\&quot;]\&quot;«»)
$valtest = \&quot;toto[]\&quot;
$limit=$ListCaractInterdit.count
$j = 0
for ($i=0;$i -lt $limit; $i++)
{
if ($valtest -match [regex]::Escape($ListCaractInterdit[$i]) )
{
$j++
write-host $($ListCaractInterdit[$i])
}
}
$limit
$j
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #23775 par Romet
Je vous remercie énormément ! Merci pour vos compétences ! :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena