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

Tree - Commande DOS

14 réponses
Avatar
Gou
Bonjour,

Je cherche à inscrire dans un document la liste de tous les dossiers et
fichiers faisant parti d'un répertoire. J'aimerais que le résultat puisse se
sauvegarder dans un document texte.

Mon meilleur essai jusqu'à présent fut d'utiliser la commande DOS "TREE"
ex. C:\> tree C:\ /f /a > MonFichier.txt

En exécutant cette commande j'obtient effectivement l'arborescence souhaité
dans le fichier "MonFichier.txt" mais voilà, les caractères accentués y sont
mal représentés ex. une virgule ou un carré au lieu d'un "é".

Encore là c'est ce qui arrive si j'ouvre mon fichier avec un Éditeur comme
le Bloc Note, Wordpad ou MS Word mais il est vrai que j'observe les bon
caractères avec un éditeur DOS comme "Edit".

Quel pourrait être la solution pour reproduire intégralement tous les
caractères avec un éditeur comme MS Word ?

Merci.

10 réponses

1 2
Avatar
Gilles RONSIN
Gou , le mar. 28 mars 2006 02:03:02,
écrivait ceci:

Bonjour,
Salut,


Je cherche à inscrire dans un document la liste de tous les
dossiers et fichiers faisant parti d'un répertoire. J'aimerais que
le résultat puisse se sauvegarder dans un document texte.


JCB a travaillé pour toi :)
http://www.bellamyjc.org/fr/vbsdownload.html#printdir

--
Embryon de site : http://gilles.ronsin.free.fr
Gérez vos messages non lus http://gilles.ronsin.free.fr/#nonlus V3.0
Il est impossible pour un optimiste d'être agréablement surpris.

Avatar
Laurent Jumet
Hello !

Gou wrote:

Je cherche à inscrire dans un document la liste de tous les dossiers et
fichiers faisant parti d'un répertoire. J'aimerais que le résultat puisse
se sauvegarder dans un document texte.
Mon meilleur essai jusqu'à présent fut d'utiliser la commande DOS "TREE"
ex. C:> tree C: /f /a > MonFichier.txt
En exécutant cette commande j'obtient effectivement l'arborescence
souhaité dans le fichier "MonFichier.txt" mais voilà, les caractÃshres
accentués y sont mal représentés ex. une virgule ou un carré au lieu
d'un "é".
Encore là c'est ce qui arrive si j'ouvre mon fichier avec un �diteur comme
le Bloc Note, Wordpad ou MS Word mais il est vrai que j'observe les bon
caractÃshres avec un éditeur DOS comme "Edit".
Quel pourrait être la solution pour reproduire intégralement tous les
caractÃshres avec un éditeur comme MS Word ?


Normalement, ce type de problème ne devrait exister qu'avec les noms ayant voyagé par Internet.
À l'intérieur de ton système, ça devrait aller.

Tape "CHCP" à l'invite: quelle est la page de code?

--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]

Avatar
Jean-Claude BELLAMY
Dans le message :,
Gou a pris la peine d'écrire ce qui suit :
Bonjour,

Je cherche à inscrire dans un document la liste de tous les dossiers
et fichiers faisant parti d'un répertoire. J'aimerais que le résultat
puisse se sauvegarder dans un document texte.

Mon meilleur essai jusqu'à présent fut d'utiliser la commande DOS
"TREE" ex. C:> tree C: /f /a > MonFichier.txt

En exécutant cette commande j'obtient effectivement l'arborescence
souhaité dans le fichier "MonFichier.txt" mais voilà, les caractères
accentués y sont mal représentés ex. une virgule ou un carré au lieu
d'un "é".

Encore là c'est ce qui arrive si j'ouvre mon fichier avec un Éditeur
comme le Bloc Note, Wordpad ou MS Word mais il est vrai que j'observe
les bon caractères avec un éditeur DOS comme "Edit".

Quel pourrait être la solution pour reproduire intégralement tous les
caractères avec un éditeur comme MS Word ?


Ton problème (très classique) vient de ce que les jeux de caractères
utilisées dans une fenêtre de commandes et ceux utilisés par les auters
applications à interface graphique sont différents !
Oui, je sais, cela peut sembler stupide, ..., mais c'est le progrès !
Dans un cas on est avec un jeu appelé "ASCII" ou "OEM", et dasn l'autre avec
un jeu "ANSI"

Il existe différentes solutions (p.ex. changement du code de page dans les
fenêtres de commandes), et celle que j'utilise est de convertir tout
simplement les fichiers textes obtenus soit de OEM vers ANSI, soit
l'inverse.
Pour cela j'ai écrit 2 scripts VBS
http://www.bellamyjc.org/fr/vbsdownload.html#ansi2oem" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.bellamyjc.org/fr/vbsdownload.html#ansi2oem
http://www.bellamyjc.org/fr/vbsdownload.html#oem2ansi" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.bellamyjc.org/fr/vbsdownload.html#oem2ansi

La syntaxe est intuitive :
oem2ansi <fichier source (OEM)> <fichier cible (ANSI)>

On peut aussi enchainer avec une précédente commande :

tree C: /f /a | cscript oem2ansi.vbs > MonFichier.txt

Le fichier "MonFichier.txt" sera un fichier texte utilsiablme sous Word,
Notepad, ..., avec les signes diacritiques (accents, cédille, tilde, ...)
entièrement conservés !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Paulchen
Salut,

ou plus simplement exécuter "mode con cp selectC7"
sous console (cmd) ou fichier batch au démarrage.
(par défaut c'est 850)
Ou y a-t-il une nuance subtile ?
--
Paulchen

"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :,
Gou a pris la peine d'écrire ce qui suit :
Bonjour,

Je cherche à inscrire dans un document la liste de tous les dossiers
et fichiers faisant parti d'un répertoire. J'aimerais que le résultat
puisse se sauvegarder dans un document texte.

Mon meilleur essai jusqu'à présent fut d'utiliser la commande DOS
"TREE" ex. C:> tree C: /f /a > MonFichier.txt

En exécutant cette commande j'obtiens effectivement l'arborescence
souhaitéz dans le fichier "MonFichier.txt" mais voilà, les caractères
accentués y sont mal représentés ex. une virgule ou un carré au lieu
d'un "é".

Encore là c'est ce qui arrive si j'ouvre mon fichier avec un Éditeur
comme le Bloc Note, Wordpad ou MS Word mais il est vrai que j'observe
les bon caractères avec un éditeur DOS comme "Edit".

Quel pourrait être la solution pour reproduire intégralement tous les
caractères avec un éditeur comme MS Word ?


Ton problème (très classique) vient de ce que les jeux de caractères
utilisées dans une fenêtre de commandes et ceux utilisés par les auters
applications à interface graphique sont différents !
Oui, je sais, cela peut sembler stupide, ..., mais c'est le progrès !
Dans un cas on est avec un jeu appelé "ASCII" ou "OEM", et dasn l'autre
avec un jeu "ANSI"

Il existe différentes solutions (p.ex. changement du code de page dans les
fenêtres de commandes), et celle que j'utilise est de convertir tout
simplement les fichiers textes obtenus soit de OEM vers ANSI, soit
l'inverse.
Pour cela j'ai écrit 2 scripts VBS
http://www.bellamyjc.org/fr/vbsdownload.html#ansi2oem" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.bellamyjc.org/fr/vbsdownload.html#ansi2oem
http://www.bellamyjc.org/fr/vbsdownload.html#oem2ansi" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.bellamyjc.org/fr/vbsdownload.html#oem2ansi

La syntaxe est intuitive :
oem2ansi <fichier source (OEM)> <fichier cible (ANSI)>

On peut aussi enchainer avec une précédente commande :

tree C: /f /a | cscript oem2ansi.vbs > MonFichier.txt

Le fichier "MonFichier.txt" sera un fichier texte utilsiablme sous Word,
Notepad, ..., avec les signes diacritiques (accents, cédille, tilde, ...)
entièrement conservés !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr





Avatar
Jean-Claude BELLAMY
Dans le message :,
Paulchen a pris la peine d'écrire ce qui
suit :
Salut,

ou plus simplement exécuter "mode con cp selectC7"
sous console (cmd) ou fichier batch au démarrage.
(par défaut c'est 850)
Ou y a-t-il une nuance subtile ?


Non, non ...
C'est très bien comme çà ! ;-)

D'ailleurs, dans ma réponse précédente, je faisais allusion à cette solution
:

"[...]
Il existe différentes solutions (p.ex. changement du
code de page dans les fenêtres de commandes), [...]"

J'ai développé la solution avec mes scripts, tout bêtement parce que je
dispose naturellement de ces scripts, (et parce qu'il peuvent servir à
d'autres choses), mais ce n'est pas une obligation de les utiliser!

En ce qui concerne le changement de code de page, si on veut pinailler, il y
a un quart de poil plus simple avec la commande "CHCP" :
CHCP 437
(8 caractères)

plus court que :
mode con cp selectC7
(22 caractères)

(informaticien est un métier de flemmard! ;-) )


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Fred

En ce qui concerne le changement de code de page, si on veut pinailler, il y
a un quart de poil plus simple avec la commande "CHCP" :
CHCP 437
(8 caractères)


Disons 9 avec CHCP 1252 qui fonctionne tout de même mieux ;-)


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Laurent Jumet
Hello !

Fred wrote:

En ce qui concerne le changement de code de page, si on veut pinailler, il
y a un quart de poil plus simple avec la commande "CHCP" :
CHCP 437
(8 caractères)


Disons 9 avec CHCP 1252 qui fonctionne tout de même mieux ;-)


Pour nous, c'est la CP858 qui doit être choisie, et qui est la CD850 avec l'Euro en ASCII-213 à la place du "DotLess i" (i sans point qui est utilisé je crois en turc).

Il faut d'abord aller dans les Option régionales et linguistiques et la cocher; à ce moment, le CD de XP risque d'être demandé. Si c'est un ancient CD, il n'a pas l'Euro.

--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]


Avatar
Fred
Hello !

Fred wrote:

En ce qui concerne le changement de code de page, si on veut pinailler, il
y a un quart de poil plus simple avec la commande "CHCP" :
CHCP 437
(8 caractères)


Disons 9 avec CHCP 1252 qui fonctionne tout de même mieux ;-)


Pour nous, c'est la CP858 qui doit être choisie, et qui est la CD850 avec l'Euro en ASCII-213 à la place du "DotLess i" (i sans point qui est utilisé je crois en turc).

Il faut d'abord aller dans les Option régionales et linguistiques et la cocher; à ce moment, le CD de XP risque d'être demandé. Si c'est un ancient CD, il n'a pas l'Euro.


Oui, j'ai donnée la page de code ANSI utilisée par windows sur une
installation française en oubliant de le préciser.
Ce n'est donc pas la même chez vous ?
(je parle de la page de code utilisée par défaut par notepad puisque
c'était la demande initiale)

PS : effectivement la page de code 858 que j'avais essayée également
n'est pas installée par défaut sur mon poste.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT



Avatar
Laurent Jumet
Hello !

Fred wrote:

Oui, j'ai donnée la page de code ANSI utilisée par windows sur une
installation française en oubliant de le préciser.
Ce n'est donc pas la même chez vous ?
(je parle de la page de code utilisée par défaut par notepad puisque
c'était la demande initiale)

PS : effectivement la page de code 858 que j'avais essayée également
n'est pas installée par défaut sur mon poste.


Quand on est dans une console DOS, il faut se tourner vers les pages de code traditionnelles DOS, afin de ne pas avoir de blagues avec les programmes DOS qui postulent l'existence d'un certain clavier.
Pour nous, c'est la CP858 qu'il faut prendre; un anglophone prendra plutôt la 437. On peut appeler les caractères étrangers en faisant "Alt+N°ASCII".
Par exemple, le "¿" est Alt-168.

Pour Windows, c'est la CP1252 (pour nous).

Enfin pour internet, c'est la ISO-8859-15 qu'il faut prendre, qui est la même que la ISO-8859-1 avec l'Euro en plus. la -15 peut s'appeler également "LATIN-9" et la -1 "LATIN-1".

Voilà voilà voilà... :-)

Pour aller voir si tout est en ordre dans le registre, c'est ici:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage

--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]

Avatar
Fred
Hello !


Hello,

Quand on est dans une console DOS, il faut se tourner vers les pages de code traditionnelles DOS, afin de ne pas avoir de blagues avec les programmes DOS qui postulent l'existence d'un certain clavier.


Oui, c'est ce que je subodorais. Nous ne sommes pas sur la même longueur
d'onde.
Nous parlions ici de rendre compatible la sortie redirigée d'une
commande pour un programme Windows (notepad par exemple).
Donc il faut bien spécifier CHCP 1252. Mais bien sûr, ce n'est que
provisoire et il ne s'agit pas de garder ce paramètre pour faire tourner
des programmes DOS, auquel cas je te rejoins.

Si j'ai proposé CHCP 1252, c'est que ce n'est pas documenté dans l'aide
de windows. Seuls les charsets OEM le sont. C'est par pure curiosité que
j'avais essayé cette page de code et constaté que cela fonctionne tout
de même très bien. Cela fonctionne aussi avec 28605 qui est le codepage
pour le Latin-9. Mais je n'en ai pas trouvé l'intérêt pour l'instant.
Par contre je n'ai pas réussi à le faire fonctionner avec l'Unicode ce
qui me serait utile pour récupérer des listing de répertoires contenant
des fichiers dont les noms comportent des idéogrammes chinois.

Enfin pour internet, c'est la ISO-8859-15 qu'il faut prendre, qui est la même que la ISO-8859-1 avec l'Euro en plus.


Pour internet, ce n'est pas toi qui décides mais le concepteur de la
page. Si tu te places du point de vue du concepteur, alors oui, Latin 9
est le meilleur choix dans nos contrées :-)
Je préfère personnellement l'UTF-8 (basé sur le charset ISO-10646 /
Unicode) car plus universel et encodage par défaut pour l'XML et consorts.
Pour les news ou le mail, Latin 9 est aussi le bon choix. L'idéal étant
quand même d'avoir un lecteur de news qui reconnaît également les autres
encodages :-p


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

1 2