Bonjour,
je suis débutant dans le forum et en batch. J'espère que je poste cette question comme il convient et au bon endroit...
Je suis face au problème de devoir gérer des fichiers avec des espaces dans les noms, et les traiter avec des boucles "FOR /F".
J'ai trouvé une solution en passant par les noms courts (format 8.3 ?), voici mon exemple :
Cela fonctionne, mais complique le reste du traitement... Je dois jongler avec les deux noms pour chaque fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 rem Une référence à un fichier est renvoyé dans le paramètre %1 rem Il y a des espaces dans le nom de fichier. Exemple :"Fichier avec espaces.txt" set FicAvecEsp=%~1 rem je prends le nom court du fichier pour éviter pb espaces set Fic=%~ns1 rem la boucle ci-dessous fonctionne bien (nom court) for /F "delims=" %%i in (%Fic%.txt) do (call :Routine "%%i") rem les boucles ci-dessous ne fonctionnent pas for /F "delims=" %%i in (%FicAvecEsp%.txt) do (call :Routine "%%i") for /F "delims=" %%i in ("%FicAvecEsp%.txt") do (call :Routine "%%i")
Y-a-t'il une solution plus simple pour écrire cette boucle "FOR /F" en conservant le nom de fichier complet (avec espaces) ?
Partager