Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1076 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [POWERSHELL] Import CSV | Array et Hashtable structurés !

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[POWERSHELL] Import CSV | Array et Hashtable structurés !

n°2194048
nico1705
Posté le 13-06-2013 à 08:34:29  profilanswer
 

Bonjour à tous,
 
Je travail sur sharepoint 2013 en ce moment. Je dois écrire un script pour importer les anciennes applications web, collections de sites, et autres.
Tout ça, à partir d'une fichier csv.
 
Le problème est que mon fichier csv est de la sorte :
 
AppliWeb\{sous-site1}\{sous-site2}\Titre\biblio GROUPE DROIT [TABULATION] GROUPE DROIT
 
( {sous-site1/2} sont facultatifs et peuvent être vide.)
 
Donc je me demandais comment gérer en powershell le fait d'avoir un premier Delimiter en \ et ensuite en TABULATION.
 
Si quelque uns parmis vous ont des liens pour m'aider là-dessus :) ou des connaissances !
 
 
Cdt,
 
Nicolas.


Message édité par nico1705 le 13-06-2013 à 13:15:54
mood
Publicité
Posté le 13-06-2013 à 08:34:29  profilanswer
 

n°2194115
nico1705
Posté le 13-06-2013 à 13:13:56  profilanswer
 

Bon j'ai réussi à gérer les \ à mettre les truc entre tabulation dans un fichier, en en ayant 1 par ligne, à supprimer la premiere ligne qui ne m'intéressait pas.
 
Maintenant je me retrouve avec un fichier type :
 
nomgroup1
droitgroup1
nomgroup2
droitgroup2
nomgroup3
droitgroup3
 
J'ai voulu le mettre dans un tableau avec une boucle, mais impossible :o le but étant de pouvoir les appeler un par un. Le mieux serait $groupe[1].nomgroupe et $groupe[1].droit pour pouvoir faire une boucle avec après...
 
J'ai donc voulu créer un tableau structuré : $tab = @{key1=value1;...}.
Mais je ne peux pas appeler $tab[1].keys ou values !!!
 
Si quelqu'un a une solution, je suis preneur, car je bloque là-dessus, et je ne sais vraiment pas comment faire :s
 
Merci d'avance,
 
Cdt,
 
Nico.

n°2194127
nico1705
Posté le 13-06-2013 à 14:29:29  profilanswer
 

Bon réponse trouvée tout seul =/
 
Je la link ici au cas où quelqu'un passe par là :
 

Code :
  1. #découpage de la derniere colonne du csv en une ligne = une info. donc ligne 1 = nom groupe 1, ligne 2 = droit groupe 1, etc...
  2. $adecouper = ($line.'NomColonneCSV').split("`t" )


 

Code :
  1. #On supprime la ligne qui est le header, et donc inintéressante
  2. $adecouper = $adecouper[1..($adecouper.Count)]


 

Code :
  1. #Sortie des Groupes et de leurs Droits respectifs.
  2. #Indice remis à 0 après suppression de la permiere ligne.
  3. #On commence donc à $i=0 -> Nom du groupe 1 avec $i+1 -> Droit du groupe 1
  4. #Puis on passe a $i = $i+2, donc $i=2 -> NomGroupe2 $i+1 -> Droit du groupe 2
  5. #Etc...
  6. for ($i=0 ;$i -lt $adecouper.Count-1) {
  7. Write-Host "Nom groupe : " $adecouper[$i] "`t`t||`t`t" $adecouper[$i+1]
  8. $i=$i+2
  9. }


 
Ici je fais un Write-Host, mais bien sûr on peut faire autre chose ;)
 
 
Nico.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [POWERSHELL] Import CSV | Array et Hashtable structurés !

 

Sujets relatifs
[Powershell] lancer une machine virtuelle automatiquement[Powershell] Valeur ComboBox
Exécution script Powershell via PHP[Powershell] Déplacement de groupe entre une OU et une OU
PowerShell Supprimer Fichier suite à une recherche de chaine de caract[powershell pour serveur]
[RESOLUE] powershell exchange 2010[PowerShell] Demande de conseil de Tuto
[Batch Dos ou Powershell ]Récupérer un dossier FTP puis le purger?[PowerShell] equivalent Net Use
Plus de sujets relatifs à : [POWERSHELL] Import CSV | Array et Hashtable structurés !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR