Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème d'accent sous dos

5 réponses
Avatar
michel91260
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_document\list_fichiers 3 txt

List (param1) (param2) (param3)
Param1 = nom du répertoire à partir du quel je fait la recherche
ex : << D:\mes_document\list_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_document\list_fichiers\du_disque_vidéo_TViX\ldf_héros_TViX.txt
J’obtiens dans ma liste
list_fichiers\du_disque_vid‚o_TViX\ldf_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

5 réponses

Avatar
Th.A.C
il faut utiliser un éditeur compatible avec la page de code de l'invite
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?
Avatar
michel91260
Th.A.C a écrit le 22/11/2011 à 18h24 :
il faut utiliser un éditeur compatible avec la page de code de l'invite
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
Avatar
Azo4
tu edevrais chercher chez JCB:
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" a écrit dans le
message de news:
Th.A.C a écrit le 22/11/2011 à 18h24 :
il faut utiliser un éditeur compatible avec la page de code de l'invite
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
Avatar
Th.A.C
Le 23/11/2011 14:25, michel91260 a écrit :

j'ai fait 3 essais :
1) avec chcp résultat
D:mes_documentlist_fichiers>chcp 1239
Page de codes non valide



effectivement, ca ne marche (plus?) chez moi non plus, pourtant je suis
sur de l'avoir déja utilisé

2) avec le bloc note en choisissant la police Terminal ( pas trouvé MS LineDraw
)



pour ms line draw, sur google on la trouve très vite :-)


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



je crois qu'il faut aussi changer la police servant à l'affichage dans
notepad++


s'il te plais, as tu fais l'essai avec le script que j'ai mis dans dans mon 1er
message ?



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
Avatar
michel91260
Th.A.C a écrit le 24/11/2011 à 01h13 :
Le 23/11/2011 14:25, michel91260 a écrit :

j'ai fait 3 essais :
1) avec chcp résultat
D:mes_documentlist_fichiers>chcp 1239
Page de codes non valide




effectivement, ca ne marche (plus?) chez moi non plus, pourtant je suis
sur de l'avoir déja utilisé

2) avec le bloc note en choisissant la police Terminal ( pas trouvé MS
LineDraw
)




pour ms line draw, sur google on la trouve très vite :-)


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




je crois qu'il faut aussi changer la police servant à l'affichage dans
notepad++


s'il te plais, as tu fais l'essai avec le script que j'ai mis dans dans mon
1er
message ?




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,