[batch] Agir sur fichiers selon partie nom
Résolu/Fermé
danieliiitooo
Messages postés
20
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
1 octobre 2010
-
13 mars 2009 à 17:11
danieliiitooo Messages postés 20 Date d'inscription jeudi 30 octobre 2008 Statut Membre Dernière intervention 1 octobre 2010 - 16 mars 2009 à 11:19
danieliiitooo Messages postés 20 Date d'inscription jeudi 30 octobre 2008 Statut Membre Dernière intervention 1 octobre 2010 - 16 mars 2009 à 11:19
A voir également:
- [batch] Agir sur fichiers selon partie nom
- Wetransfer gratuit fichiers lourd - Guide
- Fichier batch - Guide
- Nom de l'adresse - Forum Réseaux sociaux
- Trouver un nom avec une adresse ✓ - Forum Loisirs / Divertissements
- Que faut il écrire dans le champ obligatoire : Adresse (suite)*? ✓ - Forum Réseaux sociaux
3 réponses
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
13 mars 2009 à 18:34
13 mars 2009 à 18:34
Si j'ai bien compris tu a des fichier du style:
4685_4440.pdf
4685_4441.pdf
4685_4442.pdf
4685_4443.pdf
Et listing.txt avec dedans:
4684
4442
4862
Et si la deuxième partie de un des fichier pdf est egal a un nombre du fichier listing.txt sa déplace le fichier dans un autre dossier.
Donc dans cet exemple 4685_4442.pdf sera déplacé.
C'est bien sa ?
Merci
Bilou
4685_4440.pdf
4685_4441.pdf
4685_4442.pdf
4685_4443.pdf
Et listing.txt avec dedans:
4684
4442
4862
Et si la deuxième partie de un des fichier pdf est egal a un nombre du fichier listing.txt sa déplace le fichier dans un autre dossier.
Donc dans cet exemple 4685_4442.pdf sera déplacé.
C'est bien sa ?
Merci
Bilou
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
15 mars 2009 à 14:28
15 mars 2009 à 14:28
Bon se n'est pas grave tu ne répond pas.
Bon si c'est bien se que j'ai compris voila comment il faut faire.
Je te fait 2 exemple:
1er:
2ème:
Pour les 2 exemple:
- Il faut mettre le batch a coter du dossier test.
- Et le fichier listing dans le dossier test avec les .pdf
PS:
Le nom du dossier avec les point signifie que tu revient au dossier parent.(Je c'est sa veut rien dire ^^)
Le m'explique.
Imaginons tu fait un batch avec:
Et que se batch est dans c:\test
Si tu le lance le fichier salut.txt sera créé dans c:\
Car le point fait revenir au dossier parent, donc c:\
Tu peut très bien en mettre 2 ou 3.
Si tu met dans ton batch:
Et qu'il est dans c:\test\super-test
Le fichier salut.txt sera toujours dans c:\
Voila j'espère t'avoir aider même si tu ne répond pas.
Bilou
Bon si c'est bien se que j'ai compris voila comment il faut faire.
Je te fait 2 exemple:
1er:
@echo off setlocal enableDelayedExpansion for /r "test\" %%i in (*.pdf) do ( for /f %%j in ('type test\listing.txt') do ( set i=%%~ni set i1=!i:~0,4! set i2=!i:~5,9! if %%j==!i2! ( if not exist test2\ md test2\ move test\!i1!_!i2!.pdf .\test2\ > NUL ) ) ) setlocal DisableDelayedExpansion pause
2ème:
@echo off for /f %%i in ('type test\listing.txt') do ( if not exist test2\ md test2\ move test\????_%%i.pdf .\test2\ > NUL ) pause
Pour les 2 exemple:
- Il faut mettre le batch a coter du dossier test.
- Et le fichier listing dans le dossier test avec les .pdf
PS:
Le nom du dossier avec les point signifie que tu revient au dossier parent.(Je c'est sa veut rien dire ^^)
Le m'explique.
Imaginons tu fait un batch avec:
@echo off echo Salut >> .\salut.txt pause
Et que se batch est dans c:\test
Si tu le lance le fichier salut.txt sera créé dans c:\
Car le point fait revenir au dossier parent, donc c:\
Tu peut très bien en mettre 2 ou 3.
Si tu met dans ton batch:
@echo off echo Salut >> ..\salut.txt pause
Et qu'il est dans c:\test\super-test
Le fichier salut.txt sera toujours dans c:\
Voila j'espère t'avoir aider même si tu ne répond pas.
Bilou
danieliiitooo
Messages postés
20
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
1 octobre 2010
1
16 mars 2009 à 11:19
16 mars 2009 à 11:19
Milles excuses pour le retard Bilou.
Je n'ai testé que le deuxième exemple et celui-ci fonctionne parfaitement.
Je ne connaissais pas le coup des ???? pour les caractères variables.
Dans tous les cas, un grand grand grand merci pour le coup de main.
Daniel
Je n'ai testé que le deuxième exemple et celui-ci fonctionne parfaitement.
Je ne connaissais pas le coup des ???? pour les caractères variables.
Dans tous les cas, un grand grand grand merci pour le coup de main.
Daniel