Question Lecture d'un CSV en PowerShell

Plus d'informations
il y a 10 ans 4 mois #20959 par Faucon
Bonjour,

Ma question va vous sembler idiote mais voilà,

Je doit écrire un script qui effectue la purge des fichiers sur différents serveurs en fonction de la date de dernière modification. Cette partie fonctionne bien, en revanche je doit exclure certains type de fichier (.dat, .req, etc), pour ce faire je fais appel à un fichier CSV dans lequel sont renseigné toutes les exceptions, malheureusement il n'en tient pas compte, j'ai déjà fait appel a des CSV dans mes scripts mais la ça ne fonctionne pas et je bloque dessus depuis plusieurs jours et je commence à perdre patiente.

J'implore donc votre aide car je vais commettre un meurtre a ce rythme ^^.

Vous trouverez en PJ mon fichier CSV et mon script.

[code:1]
$filepath1 = \"E:\F2B-BDD1-TST\VOM\TST\SrcFiles\"
$filepath2 = \"E:\F2B-BDD1-TST\VOM\TST\TgtFiles\"


$exclude = Import-Csv -path \".\Files_To_Purge_Exclusions.csv\" -Delimiter \";\"
foreach($exclude in $exclude)
{
$fichier1 = $exclude.Fichier
}


$LastWrite = (Get-Date).AddDays(-1)
$items1 = Get-ChildItem -Force $filepath1 -Recurse -Exclude $fichier1 | Where-Object {$_.LastWriteTime -le \"$LastWrite\"}
$items2 = Get-ChildItem -Force $filepath2 -Recurse -Exclude $fichier1 | Where-Object {$_.LastWriteTime -le \"$LastWrite\"}

$fileLog = \".\file_deleted_log.txt\"

foreach ($item in $items1)
{
if($item.GetType().Name -eq \"FileInfo\"«»)
{
#Si le fichier à été modifié il y plus de 90 jours, je le supprime.
Remove-Item -Path $item.FullName
Write-Host \"Fichier $($item.FullName) supprimé\"
Write-Output \"Fichier supprimé : $($item.FullName)\" | Out-File $fileLog -Append
}
}
foreach ($item in $items2)
{
if($item.GetType().Name -eq \"FileInfo\"«»)
{
#Si le fichier à été modifié il y plus de 90 jours, je le supprime.
Remove-Item -Path $item.FullName
Write-Output \"Fichier supprimé : $($item.FullName)\" | Out-File $fileLog -Append
}
}

[/code:1]

Merci d'avance,

Cordialement,

Mitakue

La pièce jointe Files_To_Purge_Exclusions.zip est absente ou indisponible

<br><br>Message édité par: Mitakue, à: 27/10/15 09:43

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

Plus d'informations
il y a 10 ans 4 mois #20963 par Laurent Dardenne
Salut,
essaie avec ceci :
[code:1][string[]]$Fichier1= Import-Csv -path \&quot;.\Files_To_Purge_Exclusions.csv\&quot; -Delimiter \&quot;;\&quot;|
Select-object -expandProperty Fichier[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 4 mois #20964 par Faucon
Réponse de Faucon sur le sujet Re:Lecture d'un CSV en PowerShell
Bonjour Laurent,

Merci pour ta réponse, en cherchant j'ai trouvé une alternative qui est d'utiliser un get-content ce qui me donne

[code:1]$exclude = get-content \&quot;.\Files_To_Purge_Exclusions.csv\&quot;[/code:1]

Ça fonctionne il me prend bien en compte mes exclusions pour les types de fichier en revanche quand il s'agit d'un répertoire complet ça ne fonctionne pas. C'est peut-être ma ligne dans mon CSV qui n'est pas bonne mais je vais continuer à chercher.

Je reviendrais avec le script et le CSV opérationnels si ça intéresse quelqu'un.

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

Plus d'informations
il y a 10 ans 4 mois #20965 par Laurent Dardenne
Pour le nom de répertoire il se peut qu'il faille le filtrer avec un Where, le comportement du paramètre -Exclude est buggé je crois, à confirmer en recherchant sur ce forum ou sur MSConnect. Difficile de se souvenir de tout les bugs autour de la gestion des path :)

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 4 mois #20968 par Faucon
Réponse de Faucon sur le sujet Re:Lecture d'un CSV en PowerShell
D'accord je regarderais pour les chemins.

J'ai testé ta solution mais ça ne fonctionne pas.

Je vais continuer à chercher, je finirais bien par trouver ^^

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

Plus d'informations
il y a 10 ans 4 mois #20974 par Faucon
Réponse de Faucon sur le sujet Re:Lecture d'un CSV en PowerShell
Bonsoir,

Après recherche, j'avoue toujours bloquer pour exclure des dossiers complets de ma suppression, si quelqu'un à une solution je suis preneur ^^.

Merci d'avance,
Bonne soirée,
Mitakue

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

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