"format" sort-object powershell
Résolu
Didoul33
Messages postés
228
Date d'inscription
Statut
Membre
Dernière intervention
-
Didoul33 Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
Didoul33 Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je m'explique, j'ai fais cette commande pour filtrer les dates (ça fonctionne parfaitement) :
le problème est que une fois cette commande passée, le format du fichier en question est modifier et cela m'embête car la suite du code n'est pas du tout adapté à se format :
avant :
après :

Avez-vous une solution pour remédier au changement de format ?
Je vous remercie par avance !
Je m'explique, j'ai fais cette commande pour filtrer les dates (ça fonctionne parfaitement) :
Foreach ($Ligne in $ListDataColl)
{
$Ligne.DebutduContrat = [Datetime]::ParseExact($Ligne.DebutduContrat, 'dd/MM/yyyy',[Globalization.CultureInfo]::CreateSpecificCulture('fr-FR'))
}
$ListDataColl | sort-object -property @{Expression="DebutduContrat";Ascending=$true} -CaseSensitive| Set-Content $CSVPath -Force
le problème est que une fois cette commande passée, le format du fichier en question est modifier et cela m'embête car la suite du code n'est pas du tout adapté à se format :
avant :

après :

Avez-vous une solution pour remédier au changement de format ?
Je vous remercie par avance !
Configuration: Windows / Firefox 97.0
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
je pense à deux possibilités:
1) au lieu de modifier le champ DebutduContrat, créer un nouveau champ, et trier sur ce nouveau champ
2) au lieu de modifier le champ DebutduContrat, utiliser la fonction ParseExact comme expression à trier
je pense à deux possibilités:
1) au lieu de modifier le champ DebutduContrat, créer un nouveau champ, et trier sur ce nouveau champ
2) au lieu de modifier le champ DebutduContrat, utiliser la fonction ParseExact comme expression à trier
J'ai rajouté cette ligne, et ça fonctionne, pas de changement de format de texte excel :
au plaisir
$ListDataColl = Import-Csv $CSVPath -Delimiter ","
#Création de l'utilisateur sur l'active directory avec le fichier CSV correspondant
Foreach ($Ligne in $ListDataColl)
{
$Ligne.DebutduContrat = [Datetime]::ParseExact($Ligne.DebutduContrat, 'dd/MM/yyyy',[Globalization.CultureInfo]::CreateSpecificCulture('fr-FR'))
}
$ListDataColl | sort-object -property "DebutduContrat" | Export-CSV $CSVPath -NoTypeInformation -Encoding UTF8
(Get-Content $CSVPath) | Set-Content $CSVPath -Force
au plaisir
je ne comprends pas le 2) comment j'écris cela ?
je suis débutant en code, peux-tu me détailler tes propositions ?
merci!