Bonjour,
j'ai écrit un script batch sous Windows XP SP2 qui parcours une arborescence de dossiers à la recherche de musiques (mp3, wav, etc) afin d'en reporter le chemin d'accès dans des fichiers HTML. Le but est de générer des fichiers HTML qui permettent d'afficher un classement par ordre alphabétique des albums, avec affichage de la jaquette du CD (à partir de l'image folder.jpg placée dans chaque dossier) et de lancer la lecture de l'album par un clic dessus. Un autre script batch génère au préalable des playlists.m3u pour chaque album.
Voilà pour la présentation
Cà fonctionne plutôt bien, mais je rencontre un petit problème.
Comme je fais évoluer des variables dans des boucles FOR, j'utilise
Code :
- setlocal EnableDelayedExpansion
|
Le problème est que, si un nom de dossier ou de fichier contient le caractère "!", le batch ne le reconnaît pas, voir fait sauter une partie de la ligne à écrire dans le fichier HTML.
Donc, la question : peut-on remédier à ce problème ?
Je vous donne un petit script simplifié qui met le problème en évidence. Pour le tester : dans C:\ créez un dossier "test" puis un sous-dossier "hehe !". Vous verrez que tant qu'on ne retire pas le "setLocal" du batch, le "!" n'est pas reconnu.
Code :
- @ECHO OFF
- setlocal EnableDelayedExpansion
- rem set characters codes for correctly write accents in html files
- CHCP 1252
- CLS
- SET rootFolder=C:\\test
- FOR /R "%rootFolder%" /D %%I IN ("*" ) DO (
- ECHO %%I
- )
- PAUSE
|
Personnellement, je n'utilise pas de caractères spéciaux dans mes noms de fichier ou dossier, mais hélas je suis un des derniers irréductibles dans ce cas (comme quelques uns d'entre vous sûrement) et j'aimerai bien pouvoir résoudre ce problème, afin que ce petit soft puisse fonctionner chez toutes les personnes qui voudront s'en servir.
D'ailleurs, si çà vous intéresse, je le mettrai bientôt à disposition. L'idée de faire çà n'est pas de moi, mais je dois dire qu'àprès l'avoir fait, je l'ai adopté
Merci de votre aide