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 :

Déplacer des fichiers si chaîne de caractères trouvée [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Déplacer des fichiers si chaîne de caractères trouvée
    Bonjour,

    Je cherche un moyen pour créer un batch permettant de déplacer des fichiers présents dans un même répertoire vers un autre répertoire uniquememant dans le cas où le fichier contient une chaîne de caractère.
    Par exemple, j'ai un répertoire avec des fichiers .txt dans le répertoire C:\OLD
    Je voudrais déplacer tous les fichiers contenant le mot TOTO (pas le nom du fichier) vers le répertoire C:\NEW

    OK pour la commande move, mais comment créer une liste des fichiers contenant cette chaîne?
    J'ai essayé avec findstr mais je n'arrive à rien de concluant.

    Si quelqu'un a une idée.

    D'avance merci.

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Montre nous ce que tu as fais.

    Avec un findstr /M (affiche uniquement les noms de fichiers) tu dois t'en sortir sans problème.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Merci mais en fait j'ai trouvé une autre solution avec find /c même si ta solution doit également fonctionner.

    Pour ceux que cela intéresse, voici le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
    rem Répertoire du script
    %~d0
    cd %~p0
    
    set FILE_EXT=.txt
    set DIR_TRT=C:\OLD
    set DIR_NEW=C:\NEW
    
    rem Traitement des fichiers
    for /f "tokens=1,2* delims=: " %%a in ('find /c "TOTO" "*%FILE_EXT%"') do (
    	if %%c gtr 0 (
    		move "%DIR_TRT%\%%b" "%DIR_NEW%"
    	)
    )
    exit
    la condition if %%c gtr 0 permet de savoir si la chaîne a été trouvée au moins une fois.

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

Discussions similaires

  1. [VBS] déplacer des fichiers
    Par Corben dans le forum VBScript
    Réponses: 4
    Dernier message: 20/04/2009, 14h25
  2. Déplacer des fichiers
    Par nicofromChina dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 17/10/2006, 06h31
  3. Déplacer des fichiers
    Par ptitanic07 dans le forum MFC
    Réponses: 5
    Dernier message: 06/09/2006, 16h45
  4. Réponses: 3
    Dernier message: 12/04/2006, 20h44
  5. Comment déplacer des fichiers sous perl ?
    Par Ickou dans le forum Langage
    Réponses: 6
    Dernier message: 10/11/2005, 12h17

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