Question
Eviter doublon fichier csv
- Mathpoum
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 14 ans 7 mois #9988
par Mathpoum
Eviter doublon fichier csv a été créé par Mathpoum
Bonjour,
j'ai un probléme avec mon script,
[code:1]foreach($cli in $client)
{
if(!$cli.clientname -eq \"\"«»)
{
$c=Get-WmiObject -class Win32_VideoController -computername $cli.ClientName | Select-object CurrentBitsPerPixel, CurrentHorizontalResolution, CurrentVerticalResolution
$s=Get-WmiObject -Class Win32_SoundDevice -computername $cli.ClientName | Select-object StatusInfo
$t= $cli.ClientName +\";\"+ $cli.IPAddress +\";\"+$c.currentbitsperpixel +\";\"+ $c.currentHorizontalResolution+\"*\"+$c.currentVerticalResolution+\" ; \"+$s.statusinfo
$txt+=$t+\"`r\"
Add-content -path \"C:\Script\test.csv\" $t
}
}[/code:1]
Le probléme, c'est qu'a chaque fois que je lance mon script, il me rajoute les même ordinateurs, et je voudrais éviter les doublons dans mon fichier csv mais je ne sais pas comment faire.
Merci d'avance pour votre aide.
j'ai un probléme avec mon script,
[code:1]foreach($cli in $client)
{
if(!$cli.clientname -eq \"\"«»)
{
$c=Get-WmiObject -class Win32_VideoController -computername $cli.ClientName | Select-object CurrentBitsPerPixel, CurrentHorizontalResolution, CurrentVerticalResolution
$s=Get-WmiObject -Class Win32_SoundDevice -computername $cli.ClientName | Select-object StatusInfo
$t= $cli.ClientName +\";\"+ $cli.IPAddress +\";\"+$c.currentbitsperpixel +\";\"+ $c.currentHorizontalResolution+\"*\"+$c.currentVerticalResolution+\" ; \"+$s.statusinfo
$txt+=$t+\"`r\"
Add-content -path \"C:\Script\test.csv\" $t
}
}[/code:1]
Le probléme, c'est qu'a chaque fois que je lance mon script, il me rajoute les même ordinateurs, et je voudrais éviter les doublons dans mon fichier csv mais je ne sais pas comment faire.
Merci d'avance pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 14 ans 7 mois #9993
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Eviter doublon fichier csv
Bonjour,
Tu peux, par exemple, avant d'ajouter ton élément dans ton fichier CSV, tester s'il n'est pas déjà présent :
[code:1]if(\" )){
Add-content -path \"C:\Script\test.csv\" $t
}[/code:1]
Cependant, avec cette solution, plus le fichier csv comportera de lignes, plus le temps de traitement dans la boucle \"foreach client\" sera long...
Il y a surement d'autres solutions : d'ailleurs, ce sujet m'intéresse
@ +
Matthew BETTON
Tu peux, par exemple, avant d'ajouter ton élément dans ton fichier CSV, tester s'il n'est pas déjà présent :
[code:1]if(\" )){
Add-content -path \"C:\Script\test.csv\" $t
}[/code:1]
Cependant, avec cette solution, plus le fichier csv comportera de lignes, plus le temps de traitement dans la boucle \"foreach client\" sera long...
Il y a surement d'autres solutions : d'ailleurs, ce sujet m'intéresse
@ +
Matthew BETTON
Connexion ou Créer un compte pour participer à la conversation.
- Mathpoum
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 14 ans 7 mois #10001
par Mathpoum
Réponse de Mathpoum sur le sujet Re:Eviter doublon fichier csv
Merci pour ta réponse, ca fonctionne ! 
Mon fichier csv va contenir environ 350 lignes, ce qui est relativement faible, je pense.
Mon fichier csv va contenir environ 350 lignes, ce qui est relativement faible, je pense.
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
-
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 14 ans 7 mois #10028
par Gabriel
Réponse de Gabriel sur le sujet Re:Eviter doublon fichier csv
Bonjour oko23
essai ca
[code:1]
foreach($cli in $client) {
if(!($cli.clientname)) {
$c=Get-WmiObject -class Win32_VideoController -computername $cli.ClientName | Select-object CurrentBitsPerPixel, CurrentHorizontalResolution, CurrentVerticalResolution
$s=Get-WmiObject -Class Win32_SoundDevice -computername $cli.ClientName | Select-object StatusInfo
$t= $cli.ClientName +\";\"+`
$cli.IPAddress +\";\"+`
$c.currentbitsperpixel +\";\"+`
$c.currentHorizontalResolution +\"*\"+`
$c.currentVerticalResolution+\" ; \"+`
$s.statusinfo | out-file -path \"C:\Script\test.csv\" -Append
}
}
[/code:1]
pas besoin du \"`r\" avec out-file
apluch
essai ca
[code:1]
foreach($cli in $client) {
if(!($cli.clientname)) {
$c=Get-WmiObject -class Win32_VideoController -computername $cli.ClientName | Select-object CurrentBitsPerPixel, CurrentHorizontalResolution, CurrentVerticalResolution
$s=Get-WmiObject -Class Win32_SoundDevice -computername $cli.ClientName | Select-object StatusInfo
$t= $cli.ClientName +\";\"+`
$cli.IPAddress +\";\"+`
$c.currentbitsperpixel +\";\"+`
$c.currentHorizontalResolution +\"*\"+`
$c.currentVerticalResolution+\" ; \"+`
$s.statusinfo | out-file -path \"C:\Script\test.csv\" -Append
}
}
[/code:1]
pas besoin du \"`r\" avec out-file
apluch
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 14 ans 7 mois #10057
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Eviter doublon fichier csv
Matthew BETTON écrit:
Une autre piste , une création dynamique d'une table avec ADO (sous réserve de l'OS ciblé...)
Utiliser une structure de donnée indexée, voir ce tuto .Il y a surement d'autres solutions : d'ailleurs, ce sujet m'intéresse
Une autre piste , une création dynamique d'une table avec ADO (sous réserve de l'OS ciblé...)
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 14 ans 7 mois #10062
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Eviter doublon fichier csv
Laurent Dardenne écrit:
Bonjour,
Merci beaucoup Laurent
J'ai aussi trouvé des choses intéressantes ici , ce qui m'a renvoyé là .
L'idée serait donc d'importer un fichier CSV sous la forme d'une collection (un dictionnaire tel qu'un Hashtable), de travailler sur cette collection via les méthodes disponibles comme 'Add' et 'Remove', puis finalement d'exporter les données vers le CSV.
@ +
Matthew
Matthew BETTON écrit:
Utiliser une structure de donnée indexée, voir ce tuto .Il y a surement d'autres solutions : d'ailleurs, ce sujet m'intéresse
Une autre piste , une création dynamique d'une table avec ADO (sous réserve de l'OS ciblé...)
Bonjour,
Merci beaucoup Laurent
J'ai aussi trouvé des choses intéressantes ici , ce qui m'a renvoyé là .
L'idée serait donc d'importer un fichier CSV sous la forme d'une collection (un dictionnaire tel qu'un Hashtable), de travailler sur cette collection via les méthodes disponibles comme 'Add' et 'Remove', puis finalement d'exporter les données vers le CSV.
@ +
Matthew
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.105 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Eviter doublon fichier csv