Batch pour déplacer des fichiers avec un espace

Résolu/Fermé
meepmeep Messages postés 26 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 2 septembre 2023 - Modifié le 28 mars 2018 à 11:13
meepmeep Messages postés 26 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 2 septembre 2023 - 3 avril 2018 à 14:24
Bonjour,
Après avoir un peu cherché sur le net, j'ai fait un batch qui sert déplacer vers le dossier parent courant, tous les fichiers contenus dans les sous-répertoires.
Ca marche très bien sauf quand les noms de fichier contiennent un espace.
J'ai lu qu'il fallait mettre des guillemets, oui mais dans mon cas, où les mettre ? J'ai essayé partout, ça ne donne rien

set currentpath=%~dp0
for /r %%i in ("*.*") do MOVE %%i %currentpath%


/r permet d'explorer tous les dossiers et sous dossiers
%~dp0 renvoi le dossier courant où est contenu le batch
for %%i permet de faire une boucle itérative

Merci d'avance si vous avez la solution
A voir également:

2 réponses

barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
Modifié le 31 mars 2018 à 14:55
Bonjour,

Voilà ce que je ferais :
for /r %%i in ("*.*") do MOVE "%%~i" "%~dp0"


0
meepmeep Messages postés 26 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 2 septembre 2023 2
3 avril 2018 à 14:24
Yes, magnifique !
Je n'avais pas essayé avec les guillemets autours du %%~i ...
Et c'est vrai que de mettre directement %~dp0 à la fin plutôt que de passer par une variable est quand même plus léger...
Merci infiniment !
0