Question
Supression de fichiers
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 8 ans 3 mois #24637
par Toper
Powershell: la vie est belle
Supression de fichiers a été créé par Toper
Bonjour,
je souhaite supprimer des fichiers anterieurs à la date en cours - 1 jour (donc à la date d'hier).
Voici mon code:
[code:1]$DaysBack = \"-1000\"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($DaysBack)
Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | Where-Object { $_.LastWriteTime -lt $DatetoDelete } >> c:\user\list.txt
$gci123soleil.count[/code:1]
Mais si je bouge mon $DaysBack, j'ai toujours le même \"count\"....
Que ce soit du PDF, du doc, tous types de fichiers, j'ai soit le compte total, soit \"0\"...
je souhaite supprimer des fichiers anterieurs à la date en cours - 1 jour (donc à la date d'hier).
Voici mon code:
[code:1]$DaysBack = \"-1000\"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($DaysBack)
Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | Where-Object { $_.LastWriteTime -lt $DatetoDelete } >> c:\user\list.txt
$gci123soleil.count[/code:1]
Mais si je bouge mon $DaysBack, j'ai toujours le même \"count\"....
Que ce soit du PDF, du doc, tous types de fichiers, j'ai soit le compte total, soit \"0\"...
Powershell: la vie est belle
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 8 ans 3 mois #24638
par Jpo
Réponse de Jpo sur le sujet Re:Supression de fichiers
Bonjour,
Ton code n'est pas complet, la variable gci123soleil n'est pas défini (même si je me doute qu'il contient ton gci), et ton code fait un -1000 jours !
Sinon décompose décompose!
Partisant du foreach-object j'aurais fait qqch comme ça :
[code:1]
$DaysBack = -1
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($DaysBack)
Write-host $DatetoDelete
# Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | Where-Object { $_.LastWriteTime -lt $DatetoDelete } >> c:\user\list.txt
Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | foreach-Object {
$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
if ($LastWriteTime -lt $DatetoDelete) {
$_.cequetuveux | out-file .\test.txt -append -encoding UTF8
}
} [/code:1]
Cordialement,
Jonathan
Ton code n'est pas complet, la variable gci123soleil n'est pas défini (même si je me doute qu'il contient ton gci), et ton code fait un -1000 jours !
Sinon décompose décompose!
Partisant du foreach-object j'aurais fait qqch comme ça :
[code:1]
$DaysBack = -1
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($DaysBack)
Write-host $DatetoDelete
# Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | Where-Object { $_.LastWriteTime -lt $DatetoDelete } >> c:\user\list.txt
Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | foreach-Object {
$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
if ($LastWriteTime -lt $DatetoDelete) {
$_.cequetuveux | out-file .\test.txt -append -encoding UTF8
}
} [/code:1]
Cordialement,
Jonathan
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 8 ans 3 mois #24640
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Supression de fichiers
Je suis une sous-quiche en PSH....
Effectivement j'avais oublié un bout de code dans le copier/coller...
Pour ma culture personnelle, peux-tu m'expliquer le pourquoi de ces 2 lignes ?
[code:1]$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
[/code:1]
Effectivement j'avais oublié un bout de code dans le copier/coller...
Pour ma culture personnelle, peux-tu m'expliquer le pourquoi de ces 2 lignes ?
[code:1]$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
[/code:1]
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 8 ans 3 mois #24641
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Supression de fichiers
Je viens de tester ton code pour qu'il m'affiche les PDF d'aujourd'hui: il ne m'en trouve aucun alors qu'il y en a des milliers...
[code:1]Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | foreach-Object {
$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
if ($LastWriteTime -eq (get-date) {
Write-Host $_.LastWriteTime | out-file c:\test.txt -append -encoding UTF8
}
} [/code:1]
[code:1]Get-ChildItem -Recurse -path \"\\serveur\partage\" -Include \"*.pdf\" -Force | foreach-Object {
$LastWriteTime = $null
$LastWriteTime = $_.LastWriteTime
if ($LastWriteTime -eq (get-date) {
Write-Host $_.LastWriteTime | out-file c:\test.txt -append -encoding UTF8
}
} [/code:1]
Powershell: la vie est belle
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 8 ans 3 mois #24644
par Jpo
Réponse de Jpo sur le sujet Re:Supression de fichiers
J'aime bien stocker et initialiser mes variable, attend je retest le code !
Il semble qu'il manquait des parenthèses dans ton code
Celui-ci est fonctionnel :
[code:1]
Get-ChildItem -Recurse -path \".\\" -Include \"*.pdf\" | foreach-Object {
$LastWriteTime = $null
$Name = $null
$LastWriteTime = $_.LastWriteTime
$Name = $_.Name
write-host \"1 - $LastWriteTime - $Name\"
if ($LastWriteTime -eq (get-date)) {
$_.LastWriteTime | out-file c:\test.txt -append -encoding UTF8
}
}[/code:1]
Il semble qu'il manquait des parenthèses dans ton code
Celui-ci est fonctionnel :
[code:1]
Get-ChildItem -Recurse -path \".\\" -Include \"*.pdf\" | foreach-Object {
$LastWriteTime = $null
$Name = $null
$LastWriteTime = $_.LastWriteTime
$Name = $_.Name
write-host \"1 - $LastWriteTime - $Name\"
if ($LastWriteTime -eq (get-date)) {
$_.LastWriteTime | out-file c:\test.txt -append -encoding UTF8
}
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 8 ans 3 mois #24645
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Supression de fichiers
Que je fasse un \"-lt\", un \"-eq\" ou un \"-gt\" sur \"get-date\", il me ramène les mêmes fichiers (tous les PDF contenus dans le dossier sont d'aujourd'hui).
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Supression de fichiers