Question Suppression dossier

Plus d'informations
il y a 6 ans 6 mois #24424 par Jeulmi
Suppression dossier a été créé par Jeulmi
Hello everybody !

Contexte :
Nous devons effacer les données perso des utilisateurs qui ont quittés la société après 3 mois.
Le dossier se compose du nom + ##A suppr le date de départ (SpunkZ - ##A suppr le 15102017)

Ce que je voudrais faire :
A l'aide d'un script, il vérifie une partie du nom (celle du mois), si c'est plus petit que le mois courant, il supprime le dossier

Script :
[code:1]$Mois = get-date -Format %M
$Dossier = Get-ChildItem
$Dossier1 = $Dossier.name
ForEach ($Dossiers1 in $Dossier1)
{
$Dossier2 = $Dossiers1.substring($Dossiers1.length -6,2)


If ($Dossier2 -lt $Mois)
{
Write-host \"$Dossier1 suppr !\"
}

Else
{Write-Host \"Dossier a ne pas suppr !\"}
}[/code:1]

J'ai créé un dossier test où j'ai 2 dossiers, quand j'exécute le script pour tester :
[code:1]DUPONT - ##A suppr le 12092017 FOUZIA - ##A suppr le 12092017 suppr !
DUPONT - ##A suppr le 12092017 FOUZIA - ##A suppr le 12092017 suppr ![/code:1]

Je voudrais avoir un résultat par ligne.
Pour Remove-item, comment lui dire de supprimer ce dossier et pas un autre ?

Merci !<br><br>Message édité par: SpunkZ, à: 15/10/17 14:42

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

Plus d'informations
il y a 6 ans 6 mois #24425 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Suppression dossier
En remplaçant $Dossier2 par $Dossiers1 aprés le foreach, le bon affichage fonctionne
[code:1]DUPONT - ##A suppr le 12092017
Dossier suppr !
FOUZIA - ##A suppr le 12102017
Dossier a ne pas suppr ![/code:1]

Reste a supprimer le bon fichier ...

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

Plus d'informations
il y a 6 ans 5 mois #24457 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Suppression dossier
Petit up :)
Comment supprimer les dossiers qui ont \&quot;Dossier suppr !\&quot;
Merci

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

Plus d'informations
il y a 6 ans 4 mois #24659 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Suppression dossier
Personne ne sait ? :(
Je ré-explique

[code:1]cd D:\TEST
$Mois = get-date -Format %M
$Dossier = Get-ChildItem
$Dossier1 = $Dossier.name
ForEach ($Dossiers1 in $Dossier1)
{
$Dossier2 = $Dossiers1.substring($Dossiers1.length -6,2)
$dossiers1

If ($Dossier2 -lt $Mois)
{
Write-host \&quot;Dossier suppr !\&quot;

}

Else
{Write-Host \&quot;Dossier a ne pas suppr !\&quot;}
}[/code:1]

Résultat :
[code:1]
PS D:\TEST&gt; F:\APP-V\test3.ps1
DUPONT - ##A suppr le 12092017
Dossier suppr !
DURAND - ##A suppr le 12122017
Dossier a ne pas suppr !
FOUZIA - ##A suppr le 12102017
Dossier suppr ![/code:1]

Comment supprimé les fichiers qui doivent l'être ?
Merci :)

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

Plus d'informations
il y a 6 ans 4 mois #24660 par Jpo
Réponse de Jpo sur le sujet Re:Suppression dossier
Je ne dois pas comprendre les demandes lol.. Mais tu as ton foreach, tu as ton if/else, supprime ton dossier2 dans le IF ?
Limite il faut juste avoir le fullpath du dossier 2 ?
[code:1]If ($Dossier2 -lt $Mois)
{
Write-host \&quot;Dossier suppr !\&quot;
remove-item -path $Dossier2 #+ des options force ou recurse ou autre..
}
Else
{
Write-Host \&quot;Dossier a ne pas suppr !\&quot;
}[/code:1]

Cordialement,
Jonathan

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

Plus d'informations
il y a 6 ans 4 mois #24662 par crogiez
Réponse de crogiez sur le sujet Re:Suppression dossier
bonjour

ecrit en francais
utilise des noms de variables compréhensibles
qui on un rapport avec ton programme
n’hésites à afficher tes variables

moi j'ajouterai une log
pour savoir dans le temps
a quelle date tu as supprimé
\&quot;message\&quot; &gt;&gt; suppdoss.log

[code:1]
$Mois = get-date -Format %M
$Mois

$chemin=\&quot;D:\Temp\suppdoss\&quot;
$Dossiers = Get-ChildItem -Path $chemin -Directory

$Dossiers
$Dossiers.count

$Dossiers |% {

$obj_doss=$_
$nomdoss=$obj_doss.Name
$nomdoss

#SpunkZ - ##A suppr le 15102017
#0 1 2
#012345678901234567890123456789

$moisdoss=$nomdoss.Substring(24,2)
$moisdoss

If ($moisdoss -lt $Mois){
\&quot;Ce dossier va etre supprime aujourd'hui\&quot;
#remove-item -Path $obj_doss -Recurse -Force
}Else{
\&quot;Dossier OK\&quot;
}
}
[/code:1]

PS D:\Temp\suppdoss&gt; D:\Temp\suppdoss\suppdoss.ps1
12


Répertoire : D:\Temp\suppdoss


Mode LastWriteTime Length Name
----

----
d---- 06/12/2017 11:23 SpunkZ - ##A suppr le 15102017
d---- 06/12/2017 11:23 SpunkZ - ##A suppr le 15122017
2
SpunkZ - ##A suppr le 15102017
10
Ce dossier va etre supprime aujourd'hui
SpunkZ - ##A suppr le 15122017
12
Dossier OK

Message édité par: crogiez, à: 6/12/17 11:38<br><br>Message édité par: crogiez, à: 6/12/17 11:40

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

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