Question
Suppression dossier
- Jeulmi
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 89
- Remerciements reçus 0
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
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.
- Jeulmi
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 89
- Remerciements reçus 0
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 ...
[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.
- Jeulmi
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 89
- Remerciements reçus 0
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 \"Dossier suppr !\"
Merci
Comment supprimer les dossiers qui ont \"Dossier suppr !\"
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Jeulmi
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 89
- Remerciements reçus 0
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 \"Dossier suppr !\"
}
Else
{Write-Host \"Dossier a ne pas suppr !\"}
}[/code:1]
Résultat :
[code:1]
PS D:\TEST> 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
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 \"Dossier suppr !\"
}
Else
{Write-Host \"Dossier a ne pas suppr !\"}
}[/code:1]
Résultat :
[code:1]
PS D:\TEST> 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.
- Jpo
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
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 \"Dossier suppr !\"
remove-item -path $Dossier2 #+ des options force ou recurse ou autre..
}
Else
{
Write-Host \"Dossier a ne pas suppr !\"
}[/code:1]
Cordialement,
Jonathan
Limite il faut juste avoir le fullpath du dossier 2 ?
[code:1]If ($Dossier2 -lt $Mois)
{
Write-host \"Dossier suppr !\"
remove-item -path $Dossier2 #+ des options force ou recurse ou autre..
}
Else
{
Write-Host \"Dossier a ne pas suppr !\"
}[/code:1]
Cordialement,
Jonathan
Connexion ou Créer un compte pour participer à la conversation.
- crogiez
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 102
- Remerciements reçus 0
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é
\"message\" >> suppdoss.log
[code:1]
$Mois = get-date -Format %M
$Mois
$chemin=\"D:\Temp\suppdoss\"
$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){
\"Ce dossier va etre supprime aujourd'hui\"
#remove-item -Path $obj_doss -Recurse -Force
}Else{
\"Dossier OK\"
}
}
[/code:1]
PS D:\Temp\suppdoss> 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
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é
\"message\" >> suppdoss.log
[code:1]
$Mois = get-date -Format %M
$Mois
$chemin=\"D:\Temp\suppdoss\"
$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){
\"Ce dossier va etre supprime aujourd'hui\"
#remove-item -Path $obj_doss -Recurse -Force
}Else{
\"Dossier OK\"
}
}
[/code:1]
PS D:\Temp\suppdoss> 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.076 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Suppression dossier