Question
[Résolu]Séparer des valeurs dans une ligne de text
- FO
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 15 ans 4 mois #8081
par FO
[Résolu]Séparer des valeurs dans une ligne de text a été créé par FO
Bonjour à tous,
Etant débutant, je me permets de vous demander de l'aide.
Je m'explique :
J'ai une variable dans laquelle je récupère plusieurs adresses Email
$mails : 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
Je souhaiterai pouvoir récupérer chaque adresse Email dans une variable unique
$mails1 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$mails2 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$mails3 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
Pour information je peux mettre autre chose que le slash (/) dans ma variable $mails.
Je voulais faire comme avec un fichier texte, utiliser - delimiter / mais je sais pas faire.
Merci d'avance pour votre aide.<br><br>Message édité par: Benjy, à: 18/11/10 14:06
Etant débutant, je me permets de vous demander de l'aide.
Je m'explique :
J'ai une variable dans laquelle je récupère plusieurs adresses Email
$mails : 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
Je souhaiterai pouvoir récupérer chaque adresse Email dans une variable unique
$mails1 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$mails2 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$mails3 = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
Pour information je peux mettre autre chose que le slash (/) dans ma variable $mails.
Je voulais faire comme avec un fichier texte, utiliser - delimiter / mais je sais pas faire.
Merci d'avance pour votre aide.<br><br>Message édité par: Benjy, à: 18/11/10 14:06
Connexion ou Créer un compte pour participer à la conversation.
- SUSINI Vincent
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 15 ans 4 mois #8082
par SUSINI Vincent
Réponse de SUSINI Vincent sur le sujet Re:Séparer des valeurs dans une ligne de texte
Salut,
Tu peux utiliser la commande split pour trier tes mails :
[code:1]
$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$mails -split \"/\"
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
[/code:1]
Tu peux aussi mettre le résultat dans une liste pour agir sur chaque mail
[code:1]$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$liste_mails = $mails -split \"/\"
ForEach ($email in $liste_mails)
{
Write-Host $email
}
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
[/code:1]
Tu peux utiliser la commande split pour trier tes mails :
[code:1]
$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$mails -split \"/\"
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
[/code:1]
Tu peux aussi mettre le résultat dans une liste pour agir sur chaque mail
[code:1]$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$liste_mails = $mails -split \"/\"
ForEach ($email in $liste_mails)
{
Write-Host $email
}
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- FO
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 15 ans 4 mois #8084
par FO
Réponse de FO sur le sujet Re:Séparer des valeurs dans une ligne de texte
il y a peut être une autre possibilité :
Mon but étant d'envoyer un mail (avec la classe system.net.mail) avec plusieurs destinataires (Récupéré d'un fichier texte et mis dans la variable $mails).
J'utilise cette commande pour définir le destinataire
$Message.To.Add('Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.')
Lorsque je veux rajouter un autre destinataire je suis obliger de rajouter un $Message.To.Add.
La syntaxe suivante ne fonctionne pas :
$Message.To.Add('toto@toto.fr;titi@too.fr')
Mon but étant d'envoyer un mail (avec la classe system.net.mail) avec plusieurs destinataires (Récupéré d'un fichier texte et mis dans la variable $mails).
J'utilise cette commande pour définir le destinataire
$Message.To.Add('Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.')
Lorsque je veux rajouter un autre destinataire je suis obliger de rajouter un $Message.To.Add.
La syntaxe suivante ne fonctionne pas :
$Message.To.Add('toto@toto.fr;titi@too.fr')
Connexion ou Créer un compte pour participer à la conversation.
- FO
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 15 ans 4 mois #8085
par FO
Réponse de FO sur le sujet Re:Séparer des valeurs dans une ligne de texte
Merci escandil pour ton aide.
Dernière petite chose, de quelle manière je peux mettre chaque email dans une variable unique en sachant que le nombre de destinataires peut varier ?
Dernière petite chose, de quelle manière je peux mettre chaque email dans une variable unique en sachant que le nombre de destinataires peut varier ?
Connexion ou Créer un compte pour participer à la conversation.
- FO
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 15 ans 4 mois #8086
par FO
Réponse de FO sur le sujet Re:Séparer des valeurs dans une ligne de texte
Ou comment quelle commande utiliser à la place de $Message.To.Add pour qu'il me prenne le variable $liste_mails
Connexion ou Créer un compte pour participer à la conversation.
- SUSINI Vincent
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 15 ans 4 mois #8087
par SUSINI Vincent
Réponse de SUSINI Vincent sur le sujet Re:Séparer des valeurs dans une ligne de texte
Tu peux utiliser un tableau dynamique pour stocker tes adresses mails.
[code:1]
Clear
$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
#initialisation du tableau
$Liste_mails = @()
$liste_mails = $mails -split \"/\"
[/code:1]
Chaque mail est ainsi dans une variable unique (en fonction de l'index de ton tableau)
[code:1]
Write-Host \"Mon premier mail est : \" $liste_mails[0]
Write-Host \"Mon dernier mail est : \" $liste_mails[($liste_mails.Length -1)]\" ou encore \" $liste_mails[-1]
[/code:1]
Il y a peut-être plus propre, mais ça fonctionne en tous cas
Edit :
Je ne connais pas du tout les méthodes d'envois de mail, mais si tu dois simplement répéter la commande
[code:1]$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$liste_mails = $mails -split \"/\"
ForEach ($email in $liste_mails)
{
$Message.To.Add($email)
}[/code:1]<br><br>Message édité par: Escandil, à: 18/11/10 13:55
[code:1]
Clear
$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
#initialisation du tableau
$Liste_mails = @()
$liste_mails = $mails -split \"/\"
[/code:1]
Chaque mail est ainsi dans une variable unique (en fonction de l'index de ton tableau)
[code:1]
Write-Host \"Mon premier mail est : \" $liste_mails[0]
Write-Host \"Mon dernier mail est : \" $liste_mails[($liste_mails.Length -1)]\" ou encore \" $liste_mails[-1]
[/code:1]
Il y a peut-être plus propre, mais ça fonctionne en tous cas
Edit :
Je ne connais pas du tout les méthodes d'envois de mail, mais si tu dois simplement répéter la commande
[code:1]$mails = 'toto@toto.fr/titi@toto.fr/tata@toto.fr'
$liste_mails = $mails -split \"/\"
ForEach ($email in $liste_mails)
{
$Message.To.Add($email)
}[/code:1]<br><br>Message édité par: Escandil, à: 18/11/10 13:55
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.097 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]Séparer des valeurs dans une ligne de text