Générer un répertoire et un sous répertoire

charlylimaalpha Messages postés 26 Statut Membre -  
charlylimaalpha Messages postés 26 Statut Membre -
Bonjour,
Probablement je cherche à générer un répertoire et un sous répertoire dans lequel sera enregistré un fichier le tout à partir d'un fichier (image) qui comporte (hors extension) de 15 a 16 caratéres. Le répertoire sera égal aux 7 premiers caractéres, le sous répertoire le 6 suivants (du 8iéme au 13 iéme), et le fichier qui sert à leur création s'y enregistre. Et pour compliqué la chose, il ne faut pas que je recrée un répertoire si un fichier dispose des mêmes 7 premiers caractères que le précédent, juste que le sous répertoire se créé....j'imagine un boucle avec une autre encapsulée...je ne sais s'il vaut mieux un dos (.bat ou .cmd) ou un vba lancé via un document office....y a -til sinnon preneur au moins une piste..Un grand Merci.

4 réponses

dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
rep contient les 7 premiers caractères de nom1
rep2 les 6 suivants
on teste si rep existe, si non on le crée

@echo off
set nom1=abcdefghijklmnp1
set rep=%nom1:~0,7%
set rep2=%nom1:~7,6%
if not exist %rep% mkdir %rep%
mkdir %rep%\%rep2%
1
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
voila avec une boucle sur *.jpg
@echo off
setlocal enableDelayedExpansion
for /f "delims=" %%a in ('dir /b *.jpg') do (
	set nom=%%a
	set rep=!nom:~0,7!
	set rep2=!nom:~7,6!
	if not exist !rep! mkdir !rep!
	mkdir !rep!\!rep2!
	copy %%a !rep!\!rep2!
)
1
charlylimaalpha Messages postés 26 Statut Membre 48
 
Hello dubcek,
Merci pour cela, vraiment merci.
Je viens de tester et la création du répertoire, du sous répertoire, fonctionne parfaitement mais uniquement pour le fichier abcdefghijklmnp1
Je vais essayer en remplaçant abcdefghijklmnp1 par *.jpg..
Il reste alors juste à copier dans le sous répertoire le fichier complet.
C'est a dire dans ton exemple le fichier abcdefghijklmnp1 sera copier dans abcdefg/hijklm/.
Mais aussi à faire en sorte que pour
set nom1=abcdefghijklmnp1
le abcdefghijklmnp1 ne soit pas figé mais dépendant des fichiers présents, tous jusqu'à épuisement...
Si tu as des pistes je suis preneur...
0
charlylimaalpha Messages postés 26 Statut Membre 48
 
@Dubcek, merci pour ta patience et tes compétences.
Je vais gérer avec cela, je viens d'économiser un temps trés précieux.
0