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 de fichier qui porte le même nom mais pas la même l'extension [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2021
    Messages : 2
    Par défaut Suppression de fichier qui porte le même nom mais pas la même l'extension
    Bonjour,

    J'ai un petit soucis sur un script batch.

    J'ai un répertoire D:\Appli\import dans lequel j'ai des fichiers triggers.
    J'aimerai parcourir ce dossier et supprimer tous les fichiers avec l'extension .import_error s'il existe un fichier du même nom avec l'extension .import_finished

    En recherchant sur internet j'ai trouvé le script suivant :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims==" %r in ('dir /b *.import_finished') do del "%~dpr%~nr.import_error" 2> nul

    Ce script fonctionne très bien si j'ouvre mon invite de commande dans le répertoire D:\Appli\import et que j'execute la ligne.

    Malheureusement, il ne fonctionne pas si je le lance à partir d'un .bat, et encore moins si le .bat est dans un autre répertoire D:\Scripts par exemple.
    J'ai le message suivant :
    The following usage of the path operator in batch-parameter substitution is invalid: %~nr.import_error" 2> nul
    For valid formats type CALL/? or FOR /?
    suppr triggers doublon.bat was unexpected at this time.

    J'ai tenté différentes variantes, mais rien n'y fait, par exemple :


    Rien n'y fait.
    Mes connaissances en script batch sont très basique, donc si quelqu'un pourrai m'aider.

    J'ai besoin de mettre ce script dans une tâche planifiée qui se lancerai toutes les heures par la suite.

    Contexte : une application crée 2 fichiers triggers lors de l'import (.import_finished et .import_error) se qui bloque le reste du processus. En attendant de traiter le problème d'import, il faut que je débloque l'import.

    Merci pour toute aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    set "dossier=D:\Appli\Appli"
    for /f "tokens=*" %%a in ('dir /A /B "%dossier%\*.import_error"') do if exist "%dossier%\%%~na.import_finished" del /A /F /Q "%dossier%\%%~a"
    pause

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2021
    Messages : 2
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    set "dossier=D:\Appli\Appli"
    for /f "tokens=*" %%a in ('dir /A /B "%dossier%\*.import_error"') do if exist "%dossier%\%%~na.import_finished" del /A /F /Q "%dossier%\%%~a"
    pause
    Merci beaucoup, ça fonctionne parfaitement
    Je trouve le script bien plus simple de compréhension en plus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 2.X] Faire appel à un liste qui porte le même nom qu'une chaine de caractères
    Par nekcorp dans le forum Général Python
    Réponses: 0
    Dernier message: 05/04/2016, 17h32
  2. Réponses: 5
    Dernier message: 15/04/2015, 20h39
  3. feuille qui porte le même nom impossible a créer
    Par phileurof dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2013, 16h21
  4. [WD-2003] Enregistrer des documents qui porte le même nom
    Par FCL31 dans le forum VBA Word
    Réponses: 3
    Dernier message: 18/07/2009, 00h46
  5. supprimer les fichiers qui ont des mêmes noms
    Par manaboko dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 09h09

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