Batch particulier

Résolu/Fermé
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 - 24 nov. 2008 à 16:00
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 - 24 nov. 2008 à 18:14
Bonjour,

je vous explique la situation :

j'ai un grand nombre de fichiers (env 1000) et je voudrais si possible tous les mettre dans un dossier un a un, c'est a dire que dans un dossier il y aurais seulement un fichier et que ce dossier dois avoir le même nom que le fichier sans l'extension

exemple:

moi j'ai actuellement :
test.doc
zic.doc
az.doc......

et je voudrais que le fichier test.doc sois dans un dossier qui s'appelle test et ainsi des suite pour tous

peut on faire quelque choses pour m'éviter de tous les créer a la mains svp par si il le faut je le ferais mais la je crois que je suis pas trop motivé loll

merci si quelqu'un avait un idée
--

3 réponses

SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008 16
24 nov. 2008 à 16:27
Salut,

adaptes-le à tes besoins :


@Echo off

Setlocal  enabledelayedexpansion

Set chemin=C:\Test\

For /f "tokens=*" %%a In ('dir /a-d /b "%chemin%*.*"') Do (
Set files=%%a
Set nfiles=%%~na
MD !nfiles!
move !files! !nfiles!
)

endlocal
0
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 1
24 nov. 2008 à 17:36
Merci de ton aide

j'ai toujours des difficulté ca ne marche pas j'ai juste changer le chemin pour le redirigé dans le dossier ou se trouve tous mes fichiers

y a t'il autre chose a personnaliser ?
0
SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008 16 > stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008
24 nov. 2008 à 17:39
SALUT,

mets-le dans, le repertoire cible

@Echo off

Setlocal  enabledelayedexpansion

For /f "tokens=*" %%a In ('dir /a-d /b "*.*"') Do (
Set files=%%a
Set nfiles=%%~na
MD !nfiles!
move !files! !nfiles!
)

endlocal
0
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 1 > SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008
24 nov. 2008 à 17:46
Ok merci j'ai du mieux

le probleme est que lorsque le nom du fichier est composé (exemple: service client micro) il me créer un dossier service un dossier client et un micro et donc ne met pas le fichier dans le dossiers
0
SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008 16
24 nov. 2008 à 17:54
mets les guillemets dans ta variable ..
0
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 1
24 nov. 2008 à 18:06
ok je viens de voir ton msg alors je te repose une question loll quelle variable?

je ne connais rien en programmation désolé
0
SAW4 Messages postés 190 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 14 décembre 2008 16
24 nov. 2008 à 18:12
@Echo off

Setlocal  enabledelayedexpansion

For /f "tokens=*" %%a In ('dir /a-d /b "*.*"') Do (
:::: -------- 
Set files="%%~a"
Set nfiles="%%~na"
:::::---------
MD !nfiles!
move !files! !nfiles!
)

endlocal
0
stephlb Messages postés 32 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008 1
24 nov. 2008 à 18:14
Yes ok un grand merci pour ton aide merci beaucoup!!!!!
0