Supprimer un fichier qui a une date de création de plus de 10 jours
soopajon
Messages postés
1
Statut
Membre
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
Je voudrais mettre en place un Batch file dans un planificateur de taches sur un serveur qui permet de Supprimer les fichiers qui ont une date de création de plus de 10 jours.
si il y a eu des modifications depuis leur création, le Batch file doit supprimer 10 jours après la dernière modification.
Il doit également supprimer les dossiers et sous dossier vide.
Le batch file que j'utilise fonctionne mais en fonction de la date de modification, ça veut dire que si un document est copié sur le serveur, il garde la date de modification d'origine mais la date de création sera celle du moment ou il est copié.
Désolé si c'est un peu mélangeant.
Le voici:
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
@echo off
forfiles /p "CHEMIN" /s /m *.* /c "cmd /c Del @path" /d -10
for /f "tokens=*" %%i in ('dir /s /b /ad CHEMIN* ^| sort /r') do rd "%%~i"
@exit
J'ai trouvé un code PowerShell qui fait le travail et qui fonctionne mais juste en fonction de la date de création et donc ne prend pas en compte si le fichier a une modification par la suite.
Le voici:
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
$DataFolder = "CHEMIN"
$Time = 1
Set-Location $DataFolder
Get-ChildItem $DataFolder -Recurse -File | ?{$_.CreationTime -lt (get-date).AddDays(-$Time)} | %{Remove-Item $_.FullName -Force}
function findolder($apath) {
$items = get-childitem $apath -force
foreach($fileordir in $items) {
if($fileordir.PSIsContainer) {
findolder($fileordir.FullName)
$childrens = get-childitem $fileordir.FullName -force
if($childrens -eq $null) {
remove-item $fileordir.FullName
}
}
}
}
findolder("CHEMIN")
Avez-vous un Batch file qui peut faire le travail ?
Merci beaucoup
Je voudrais mettre en place un Batch file dans un planificateur de taches sur un serveur qui permet de Supprimer les fichiers qui ont une date de création de plus de 10 jours.
si il y a eu des modifications depuis leur création, le Batch file doit supprimer 10 jours après la dernière modification.
Il doit également supprimer les dossiers et sous dossier vide.
Le batch file que j'utilise fonctionne mais en fonction de la date de modification, ça veut dire que si un document est copié sur le serveur, il garde la date de modification d'origine mais la date de création sera celle du moment ou il est copié.
Désolé si c'est un peu mélangeant.
Le voici:
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
@echo off
forfiles /p "CHEMIN" /s /m *.* /c "cmd /c Del @path" /d -10
for /f "tokens=*" %%i in ('dir /s /b /ad CHEMIN* ^| sort /r') do rd "%%~i"
@exit
J'ai trouvé un code PowerShell qui fait le travail et qui fonctionne mais juste en fonction de la date de création et donc ne prend pas en compte si le fichier a une modification par la suite.
Le voici:
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
$DataFolder = "CHEMIN"
$Time = 1
Set-Location $DataFolder
Get-ChildItem $DataFolder -Recurse -File | ?{$_.CreationTime -lt (get-date).AddDays(-$Time)} | %{Remove-Item $_.FullName -Force}
function findolder($apath) {
$items = get-childitem $apath -force
foreach($fileordir in $items) {
if($fileordir.PSIsContainer) {
findolder($fileordir.FullName)
$childrens = get-childitem $fileordir.FullName -force
if($childrens -eq $null) {
remove-item $fileordir.FullName
}
}
}
}
findolder("CHEMIN")
Avez-vous un Batch file qui peut faire le travail ?
Merci beaucoup
A voir également:
- Supprimer un fichier qui a une date de création de plus de 10 jours
- Clé d'activation windows 10 - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Restauration systeme windows 10 - Guide
- Windows 10 ne démarre plus - Guide
- Windows 10 gratuit - Accueil - Mise à jour