OVH Cloud OVH Cloud

ordre des commandes dans une ligne de commande dos

17 réponses
Avatar
marc.dufresne
bonjour à tous
j'ai besoin de traiter 2 commandes sous dos du type :
chcp 1252 | dir c:\mesimages\*.jpg >mesimages.txt
avec la barre verticale(altgr 6) je lance bien les commandes l'une derrière
l'autre!
Mais est-on sur que ces commandes vont s'éxécuter dans cet ordre car si ma
page de code 1252 n'est pas activé dans fichier texte les noms de fichier ne
prendrons pas les accents en compte.
Je demande ça car je l'ai déjà expérimenté et je me suis apperçu que mon
fichier texte n'était pas toujours valable, j'en ai conclu que la commande
DHCP1252 n'avait pas eut lieu avant la commande dir!
merci d'avance si quelqu'un peu m'informer sur cela

7 réponses

1 2
Avatar
marc.dufresne
bonsoir c'est justement pour ça que je change la page de code
CHCP donne la page de code active et chcp 1252 active la page de code 1252,
je ne sais laquelle c'est mais avec ça lorsque je fais un dir ....> test.txt
dans ce fichier j'ai bien tous les caractères accentués


"Droopy191" a écrit dans le message de news:
445a443f$0$18268$
Salut,

En voyant ta demande et ta modification des pages de code,
une question me vient: comment faire pour que dans le fichier de sortie
les accents ( é à è ) ne soient pas remplacés par du chinois
par ex : Le cimetiŠre des ‚l‚phants.mp3

dir d:mp3s*.mp3 /s /o:n /n /a:-d /w >d:mp3s_dir.txt


--
DR


Avatar
Droopy191
bonsoir c'est justement pour ça que je change la page de code
CHCP donne la page de code active et chcp 1252 active la page de code 1252,
je ne sais laquelle c'est mais avec ça lorsque je fais un dir ....> test.txt
dans ce fichier j'ai bien tous les caractères accentués


Ok je viens de re-tester et ca marche sur la sortie fichier mais ramène
le problème à l'écran.

Je garde la solution ci-dessous qui me va bien

@echo off
chcp 1252
dir d:mp3s*.mp3 /s /o:n /n /a:-d /w >d:mp3s_dir.txt
chcp 850

Ca semble ne pas fonctionner en une seule ligne avec le "&"

--
DR

Avatar
Brat'ac
Droopy191 vient de nous annoncer :


Ca semble ne pas fonctionner en une seule ligne avec le "&"


Bonsoir,
cette ligne fonctionne corectement chez moi

chcp 1252 & dir c:*.txt /s >dir.txt & chcp 850

voir le resultat ici http://cjoint.com/?feu11oF2of

GS

--
Il ne faut jamais remettre au lendemain ce qu'on peut faire faire le surlendemain
par quelqu'un d'autre.
Pierre PERRET

Avatar
Droopy191

chcp 1252 & dir c:*.txt /s >dir.txt & chcp 850



Je me suis mal exprimé, la syntaxe "&" - elle même - marche bien mais le
fichier résultant n'est pas encodé correctement.
mystère ?

--
DR

Avatar
Brat'ac
Droopy191 avait énoncé :

chcp 1252 & dir c:*.txt /s >dir.txt & chcp 850



Je me suis mal exprimé, la syntaxe "&" - elle même - marche bien mais le
fichier résultant n'est pas encodé correctement.
mystère ?


ok

--
Il ne faut jamais remettre au lendemain ce qu'on peut faire faire le surlendemain
par quelqu'un d'autre.
Pierre PERRET


Avatar
William Marie
"marc.dufresne" a écrit dans
le message de news: 4458e243$0$23435$
bonjour à tous
j'ai besoin de traiter 2 commandes sous dos du type :
chcp 1252 | dir c:mesimages*.jpg >mesimages.txt
avec la barre verticale(altgr 6) je lance bien les commandes l'une
derrière l'autre!
Mais est-on sur que ces commandes vont s'éxécuter dans cet ordre car
si ma page de code 1252 n'est pas activé dans fichier texte les noms
de fichier ne prendrons pas les accents en compte.
Je demande ça car je l'ai déjà expérimenté et je me suis apperçu que
mon fichier texte n'était pas toujours valable, j'en ai conclu que
la commande DHCP1252 n'avait pas eut lieu avant la commande dir!
merci d'avance si quelqu'un peu m'informer sur cela


Meuh non ! C'est plus simple que ça ! J'ai le cas pour aller voir

le répertoire bin de PostgreSQL installé sur mon serveur. Dans ce cas
il est indispensable d'affecter une lettre car cmd.exe refuse de
fonctionner dans un dossier distant UNC. Ensuite il faut créer un
raccourci réservé à cet usage sur cmd.exe. Ce qui te donne,
merveilleux, des tas d'onglets utiles dans "Propriétés". Tu démarres,
comme tous les raccourcis, sur le dossier que tu veux. Pour changer la
page de code il faut ajouter en paramètre de cmd.exe /K "CHCP 1252"
(l'utilitaire pgsql.exe est aussi fâché avec l'affichage en code 850).
Tu n'oublies pas de mettre dans l'un des onglet du raccourcis la
police à Lucida Console qui te permettra d'afficher en code 1252 ce
que ne fait pas la police par défaut. Après il faut chaîner d'autres
commandes avec des fichiers batch.
--
========================================================== William Marie
Toulouse (France)
mailto:
ATTENTION ! Anti-SPAM pour m'écrire remplacer trapellun.net
par free.fr
http://wmarie.free.fr
===========================================================

Avatar
franck

Mais pour vous est ce que ça vous parait possible que dans ma ligne de
commande originale la commande Chcp 1252 ne se soit pas éxécuté??

merci et bonne soirée
oui tout a fait. la commande | ou pipe n'existe pas en tant que commande

sous les consoles microsoft. c'est une commande linux/unix.


Bonjour,
Pour sur une même ligne lancer deux commandes il faut les séparer par "&"

exemple: dir c:travail >dir.txt & echo c'est terminé

GS



entièrement d'accord c'est la syntaxe exact.

cordialement
FC


1 2