IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Suppression fichier par date de création


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Nantes
    Inscrit en
    Juin 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Nantes

    Informations forums :
    Inscription : Juin 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Suppression fichier par date de création
    Bonjour, je suis tout nouveau.
    Je viens vers vous pour un problème de script.
    En effet je cherche à supprimer dans un dossier des fichiers qui ont été crée un jour après le jour même
    par exemple le 25/06/2019 pour aujourd'hui
    j'utilise cela
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    forfiles -p "C:\Users\gt6fa51n\Desktop\Gathian\OUTPUT" /s /m *.* /D -24/06/2019 /C "cmd /c del @path"

    Cela prend en compte la date de modification et non de création
    j'ai fouiné sur le Forum et j'ai trouvé quelqu'un qui à mis ce script

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    set "Year=%DATE:~6,4%"
    set "Month=%DATE:~3,2%"
    set "Day=%DATE:~0,2%"
     
    set /a "TimeStamp=(((Year * 365) + ((Month - 1) * 30)) + Day) -1"
     
    for /r "C:\Users\gt6fa51n\Desktop\Gathian\OUTPUT" %%a in (*) do (
      for /f "tokens=1" %%b in ("%%~ta") do (
        for /f "tokens=1-3 delims=/" %%c in ("%%b") do (
          set /a "FileTimeStamp=(((%%e * 365) + ((%%d - 1) * 30)) + %%c)"
          if !FileTimeStamp! LSS %TimeStamp% del /q "%%~dpnxa"

    Or en essayant il supprime tout sans prendre les TimeStamp comparé
    J'aurais donc besoin de votre aide pour savoir comment il est possible de supprimer via la date de création et non de modification. Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    En effet je cherche à supprimer dans un dossier des fichiers qui ont été crée un jour après le jour même
    Un jour avant ?

    Le plus dur étant de trouver la date d'hier, je vais utiliser un peux de Powershell (je ne sais pas si tu devra modifier ta politique de sécurité Powershell) pour la récupérer de façon fiable.
    L'algorithme de TimeStamp que tu as trouvée possède surement des failles sur le problème de mois, année bissextile...

    La seule commande que je connaisse qui affiche la date de création c'est dir avec /tc, nous allons donc l'utiliser.

    Dès qu'on parle de suppression il faut faire des tests sur un dossier de test.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
     
    for /f "usebackq delims=" %%a in (`powershell.exe -NoLogo -NoProfile -Command "(Get-Date).AddDays(-1).ToString(\"dd/MM/yyyy\")"`) do set YESTERDAY=%%~a
    for /r "C:\Users\gt6fa51n\Desktop\Gathian\OUTPUT" %%a in (*) do dir /a-d /n /tc "%%~a" |findstr /B "%YESTERDAY%" 1>nul 2>nul &&del /f/q/a "%%~a"
     
    pause

    Le script en full Powershell aurait été mieux mais bon pour les nostalgiques du batch...

Discussions similaires

  1. Tar gz des fichiers par date de création
    Par matt22 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 29/11/2017, 16h44
  2. tri de fichier par date de création
    Par seveldan dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2011, 08h37
  3. suppression d'un fichier par date d'accès
    Par nokia6680 dans le forum VBScript
    Réponses: 4
    Dernier message: 02/11/2006, 10h48
  4. Batch - Choisir un fichier par date de création
    Par Lorponos dans le forum Windows
    Réponses: 10
    Dernier message: 07/05/2006, 18h19
  5. Réponses: 4
    Dernier message: 16/04/2004, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo