Question fichiers dans boucle et suppression

Plus d'informations
il y a 11 ans 1 mois #18921 par szwec
Bonjour Messieurs.

J'essaye de créer un script passant en revu tout les fichiers supérieurs une taille \"x\". Lesdits fichiers seront ensuite, après confirmation, supprimés.

Voici le code :

Param(
[Parameter (Mandatory=$true)][string]$disque,
[Parameter (Mandatory=$true)][int]$tailleMaxenOctets
)

cd $disque
Write-Host \"Positionnement sur $disque , recherche des fichiers ayant une taille supérieure à $tailleMaxenOctets\"

$result = Get-ChildItem -Recurse -Path $disque | Where-Object {$_.Length -ge $tailleMaxenOctets}

Foreach($result in $result){ \"Fichers trouves $result\"}

****
A ce stade, j'obtiens bien mes fichiers :
PS C:\> Foreach($result in $result){ \"Fichers trouves $result\"}
Fichers trouves CentOS-7.0-1406-x86_64-DVD - Copie.iso
Fichers trouves CentOS-7.0-1406-x86_64-DVD.iso
****
la suite :
if ($réponse -eq \"Y\") {Foreach($result in $result){ Remove-Item $result.FullName -WhatIf }}
else {exit}

:angry: cela fonctionne, mais supprime uniquement le dernier fichier de la liste (centOS.iso) et pas tous les fichiers de la boucle.

Comment se fai-ce ? :laugh: merci de votre aide

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

Plus d'informations
il y a 11 ans 1 mois #18922 par Philippe
salut dtrump

je dirait qu'une erreur est là :
[code:1]Foreach($result in $result){ \"Fichers trouves $result\"}[/code:1]

et pour être précis ici : ($result in $result)

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

Plus d'informations
il y a 11 ans 1 mois #18923 par Philippe
au cas ou tu ne trouve pas

une premiere info ici et un about en francais

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

Plus d'informations
il y a 11 ans 1 mois #18924 par Philippe
et j'oublié le livre de Arnaud et robin dans le menu a gauche, page 114 pour la version 1 et 2, chapitre 2.6.3

au passage pour Laurent : j'ai pas trouver de tuto pour foreach dans tes tutos !

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

Plus d'informations
il y a 11 ans 1 mois #18927 par szwec
salut 6ratgus et merci :kiss:

[code:1]

Foreach($results in $result){ \"Fichers trouves $results\"}

$réponse = Read-Host \"Voulez-vous supprimer les fichiers trouvés (Y or N) ?\"


if ($réponse -eq \"Y\"«») {Foreach($results in $result){ Remove-Item $results.FullName }}
else {exit}

[/code:1]

Cela fonctionne correctement maintenant :)

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

Plus d'informations
il y a 11 ans 1 mois #18929 par Laurent Dardenne
6ratgus écrit:

au passage pour Laurent : j'ai pas trouver de tuto pour foreach dans tes tutos !

Le principe est simple et la doc suffisante, j'en parle toutefois dans ce tuto .

Ensuite c'est un pattern que retrouve sous .Net ou Win32

Tutoriels PowerShell

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

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