problème d'accent sous dos
Le
bonjour à tous,
j’ai fais un petit script qui list mes fichiers en fonction de ce que je recherche
.avi .vob .jpg .txt ou tous les fichiers d’un répertoire ou d’un disque alors je met * pour le paramètre 3
Sous dos je lance mon batch >> list D:mes_documentlist_fichiers 3 txt
List (param1) (param2) (param3)
Param1 = nom du répertoire à partir du quel je fait la recherche
ex : << D:mes_documentlist_fichiers >>
Param2 = je supprime le répertoire que je ne veux pas voir apparaitre dans ma liste,
ex : 3, je supprime << D:mes_document >>
Param3 les fichiers que je recherche, dans mon exemple, les fichiers txt
Et pour un fichier =
D:mes_documentlist_fichiersdu_disque_vidéo_TViXldf_héros_TViX.txt
J’obtiens dans ma liste
list_fichiersdu_disque_vid‚o_TViXldf_h‚ros_TViX.txt
Mon problème est que pour un nom de fichier ou de répertoire qui contient des accents, je perd les accents.
J’ai beau modifier ma page de code par chcp, rien n’y fait
Et j’ai beau essayer de retrouver sur le net les prog.iconv.exe et iconv.dll, je ne trouve pas.
Même les 2 lignes donné en echo n’apparaisse pas avec leurs accents
Je vous met ci-dessous un extrait simplifié de mon script pour que vous puissiez l’essayer si vous en avez le temps, je pense être sous windows 7.
MERCI d’avance michel dassonville
Ci-dessous, le script
chcp 850
@echo off > ldf.txt
@echo liste des fichiers du répertoire donné en paramêtre
@echo dans un fichier nommé ldf.txt (ListDesFichiers.txt)
for /R %1 %%X in (*.%3) do (echo %%X >> ldf.txt)
goto :%2
goto :eof
:3
echo je passe par %2
FOR /F "eol=; tokens=1,2* delims= " %%a IN (ldf.txt) DO @ECHO %%c >>list%2
type list%2 > ldf.txt
del list%2
goto :eof
j’ai fais un petit script qui list mes fichiers en fonction de ce que je recherche
.avi .vob .jpg .txt ou tous les fichiers d’un répertoire ou d’un disque alors je met * pour le paramètre 3
Sous dos je lance mon batch >> list D:mes_documentlist_fichiers 3 txt
List (param1) (param2) (param3)
Param1 = nom du répertoire à partir du quel je fait la recherche
ex : << D:mes_documentlist_fichiers >>
Param2 = je supprime le répertoire que je ne veux pas voir apparaitre dans ma liste,
ex : 3, je supprime << D:mes_document >>
Param3 les fichiers que je recherche, dans mon exemple, les fichiers txt
Et pour un fichier =
D:mes_documentlist_fichiersdu_disque_vidéo_TViXldf_héros_TViX.txt
J’obtiens dans ma liste
list_fichiersdu_disque_vid‚o_TViXldf_h‚ros_TViX.txt
Mon problème est que pour un nom de fichier ou de répertoire qui contient des accents, je perd les accents.
J’ai beau modifier ma page de code par chcp, rien n’y fait
Et j’ai beau essayer de retrouver sur le net les prog.iconv.exe et iconv.dll, je ne trouve pas.
Même les 2 lignes donné en echo n’apparaisse pas avec leurs accents
Je vous met ci-dessous un extrait simplifié de mon script pour que vous puissiez l’essayer si vous en avez le temps, je pense être sous windows 7.
MERCI d’avance michel dassonville
Ci-dessous, le script
chcp 850
@echo off > ldf.txt
@echo liste des fichiers du répertoire donné en paramêtre
@echo dans un fichier nommé ldf.txt (ListDesFichiers.txt)
for /R %1 %%X in (*.%3) do (echo %%X >> ldf.txt)
goto :%2
goto :eof
:3
echo je passe par %2
FOR /F "eol=; tokens=1,2* delims= " %%a IN (ldf.txt) DO @ECHO %%c >>list%2
type list%2 > ldf.txt
del list%2
goto :eof
de commande (c'est pas du dos ;-) Jcb va te vaporiser :-)) ).
Par exemple edit.exe (application livrée avec windows XP en mode texte
et compatible avec les noms longs et la souris).
On peut normalement le faire avec notepad++ en sélectionnant 'batch'
dans le menu 'langage'
Avec notepad (bloc-note), en sélectionnant la police MS LineDraw ou
Terminal, ca doit aussi marcher.
Sinon, essaye la page de code 1239 (chcp 1239 de mémoire) au lieu de 850.
Il me semble aussi que jcb a fait une moulinette pour ca?
bonjour Th.A.C
merci pour ton aide,
j'ai fait 3 essais :
1) avec chcp résultat
D:mes_documentlist_fichiers>chcp 1239
Page de codes non valide
2) avec le bloc note en choisissant la police Terminal ( pas trouvé MS LineDraw )
toujours le même problème
3) j'ai téléchargé notepad++ et sélectionner 'batch' dans le menu 'langage'
encore le même problème
tous les messages que je trouve sur le net à ce sujet sont très vieux
ont ils été résolu un jour ? je l'espère
s'il te plais, as tu fais l'essai avec le script que j'ai mis dans dans mon 1er message ?
qui est jcb et comment le contacter ? pour sa moulinette
ou alors dernière question y aurait il un programme sous windows qui ferait exactement ce que j'essaie de faire, c'est à dire :
lister les noms de fichiers d'un répertoire donné (avec ou sans ses sous répertoires) de n'importe quel disque en choisissant ce que l'on veux trouver jpg ou avi ou txt ... ou même avi et vob ou encore tous les fichiers et obtenir un résultat propre dans un fichier txt
si je savais programmer en vb je le ferais (je pense que c'est faisable), mais je n'ai jamais réussi, je suis "un très vieux" programmeur cobol et n'ai jamais réussi avec les nouveaux langages.
encore merci pour ton aide
http://www.bellamyjc.org/fr/vbsdownload.html
--
Serge CENCI
MVP MS Windows Desktop Experience
https://mvp.support.microsoft.com/profile/Serge.Cenci
http://www.communautes-numeriques.net/
et à votre service sur:
http://answers.microsoft.com/fr-fr?tm98734726420
"michel91260" message de news:
effectivement, ca ne marche (plus?) chez moi non plus, pourtant je suis
sur de l'avoir déja utilisé
pour ms line draw, sur google on la trouve très vite :-)
je crois qu'il faut aussi changer la police servant à l'affichage dans
notepad++
non, je me suis contenté de faire un fichier texte avec des lettres
accentuées (éèçù...) et de vérifier avec la commande:
type test.txt
que l'invite de commande m'affichait bien les bonnes lettres accentuées.
Après, j'ai ouvert ce même fichier avec notepad et avec notepad ++ et
cherché le moyen d'afficher les bons caractères en changeant de police.
as-tu testé avec edit.exe?
Sinon, le test devrait être simple:
dans l'invite de commande, tu tapes:
type ldf.txt
qui doit afficher les noms de fichier avec des accents comme il faut.
Tu ouvres ce fichier avec un des programmes cités et tu dois voir les
lettres accentuées affichées comme il faut.
Après, si tu veux exploiter ce fichier dans une application windows, il
faudra que soit le programme puisse gérer la page de code 850, soit que
le programme soit capable de convertir le fichier, soit que tu
convertisse le fichier au format que gère le programme.
sinon, azo4 t'a indiqué la page de jcb.
Le programme de conversion devrait être oem2ansi.vbs.
Et son pendant: ansi2oem.vbs
tout d'abord, merci pour votre aide,
- si je n'ai pas répondu plus tôt, j'avais perdu mon code d'accès.
- j'ai utilisé le programme trouvé chez JCB et le résultat est bon,
il me reste à vous poser une question, je voudrais compiler mon script avant de l'envoyer à mes nièces.
y a t il moyen de créer un exécutable 32 bits et un exécutable 64 bits
je suis sous windows 7 et mes nièces sous vista
encore merci,