OVH Cloud OVH Cloud

Fichier batch et caractères accentués

17 réponses
Avatar
Pano
Bonjour,

Je cherche à créer un fichier .bat pour automatiser la compression de
dossiers en vue d'une sauvegarde.
La commande suivante (l'utilitaire pacomp est l'outil de commande en ligne
du logiciel PowerArchiver, l'option -r indique qu'il faut compresser les
sous-dossiers) :

c:\progra~1\pacl\pacomp -r secu.zip "d:\Mes documents\Sécurité\*.*"

fonctionne très bien si je l'utilise dans une invite de commande XP.

Par contre, si je l'enregistre dans un fichier .bat et que je lance son
exécution, l'interpréteur ne parvient pas à décoder les caractères accentués
: il ne trouve donc logiquement aucun fichier.
D'une manière générale, comment contourner le problème des caractères
étendus dans ce genre de situation ?

Merci.

--
Pano

10 réponses

1 2
Avatar
CriCri
Salut

Pano a écrit :

D'une manière générale, comment contourner le problème des caractères
étendus dans ce genre de situation ?



Le problème vient de l'encodage du jeu de caractères de Windows qui
n'est pas le même que le CP (code page) 850 souvent utilisé par un
éditeur de texte.

1. tu peux utiliser les noms courts (comme au début de ta ligne)

2. tu peux utiliser un éditeur qui te permet de saisir la commande en
caractères Windows puis enregistrer le fichier au format MS-DOS.
(Word fera l'affaire : saisis le texte dans une fenêtre '.doc' puis
l'enregistrer sous format 'Texte MS-DOS'.)

3. tu peux utiliser <ALT>+nnnn sur le pavé numérique pour insérer le
code voulu selon CP850 : par exemple <ALT>-0130 pour 'é' (4 chiffres :
le premier zéro est indispensable - sinon tu obtiendras le caractère
Windows 130 - ',').

(Si tu as besoin des tables de caractères je les mettrai sur mon site.)

A+

--
bitwyse
"Être sage, ça peut être con des fois..."
Avatar
Jean-Claude BELLAMY
Dans le message news:41f63f6f$0$19402$ ,
Pano s'est ainsi exprimé:

Bonjour,

Je cherche à créer un fichier .bat pour automatiser la compression de
dossiers en vue d'une sauvegarde.
La commande suivante (l'utilitaire pacomp est l'outil de commande en
ligne du logiciel PowerArchiver, l'option -r indique qu'il faut
compresser les sous-dossiers) :

c:progra~1paclpacomp -r secu.zip "d:Mes documentsSécurité*.*"

fonctionne très bien si je l'utilise dans une invite de commande XP.

Par contre, si je l'enregistre dans un fichier .bat et que je lance
son exécution, l'interpréteur ne parvient pas à décoder les
caractères accentués
il ne trouve donc logiquement aucun fichier.


D'une manière générale, comment contourner le problème des caractères
étendus dans ce genre de situation ?



Cela est du à l'éternel problème des jeux de caractères ANSI (= Windows pour
simplifier) et ASCII ou OEM (= DOS pour simplifer également), qui diffèrent
à partir des codes 128.

Il faut que tu convertisses ton script d'ANSI en OEM (ASCII)

Au choix :
- Tu utilises EDIT.COM, l'éditeur DOS (je dis bien DOS, appli 16 bits!)
(pas très excitant!)

- Tu utilises un éditeur texte tel que UltraEdit (http://www.ultraedit.com)
qui sait faire des conversion ANSI->OEM et inversement

- Tu convertis ton script avec mon VBS "ANSI2OEM.VBS"
http://www.bellamyjc.org/fr/vbsdownload.html#ansi2oem


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Avatar
Gilles RONSIN
"Pano" , le mar. 25 janv. 2005 13:46:58, écrivait
ceci:

Bonjour,


Salut,


c:progra~1paclpacomp -r secu.zip "d:Mes
documentsSécurité*.*"

D'une manière générale, comment contourner le problème des
caractères étendus dans ce genre de situation ?



Tu peux éditer ton batch avec edit plutôt que notepad puisqu'un batch
est lancé en mode fenêtre de commande:

démarrer/exécuter
edit x:cheminmonbatch.bat



--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelle astuce : Script de création de raccourcis cible
http://gilles.ronsin.free.fr/#targetlnk
Il est impossible pour un optimiste d'être agréablement surpris.
Avatar
Jul
> Bonjour,

Je cherche à créer un fichier .bat pour automatiser la compression de
dossiers en vue d'une sauvegarde.
La commande suivante (l'utilitaire pacomp est l'outil de commande en ligne
du logiciel PowerArchiver, l'option -r indique qu'il faut compresser les
sous-dossiers) :

c:progra~1paclpacomp -r secu.zip "d:Mes documentsSécurité*.*"

fonctionne très bien si je l'utilise dans une invite de commande XP.

Par contre, si je l'enregistre dans un fichier .bat et que je lance son
exécution, l'interpréteur ne parvient pas à décoder les caractères
accentués
: il ne trouve donc logiquement aucun fichier.
D'une manière générale, comment contourner le problème des caractères
étendus dans ce genre de situation ?

Merci.



Bonjour,
Transformer le chemin dans l'explorateur en nom dos avec Clipname
(Google est ton ami)

--
Jul
Avatar
Pierre Goiffon
CriCri wrote:
3. tu peux utiliser <ALT>+nnnn sur le pavé numérique pour insérer le
code voulu selon CP850 : par exemple <ALT>-0130 pour 'é' (4 chiffres :
le premier zéro est indispensable - sinon tu obtiendras le caractère
Windows 130 - ',').

(Si tu as besoin des tables de caractères je les mettrai sur mon site.)



Ou ici :
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT
Avatar
Sergio
Pano avait énoncé :

Je cherche à créer un fichier .bat pour automatiser la compression de
dossiers en vue d'une sauvegarde.
La commande suivante (l'utilitaire pacomp est l'outil de commande en ligne du
logiciel PowerArchiver, l'option -r indique qu'il faut compresser les
sous-dossiers) :

c:progra~1paclpacomp -r secu.zip "d:Mes documentsSécurité*.*"



fonctionne très bien si je l'utilise dans une invite de commande XP.



Par contre, si je l'enregistre dans un fichier .bat et que je lance son
exécution, l'interpréteur ne parvient pas à décoder les caractères accentués
: il ne trouve donc logiquement aucun fichier.
D'une manière générale, comment contourner le problème des caractères étendus
dans ce genre de situation ?



Avant de le lancer (ou rajoute une ligne avant) un petit :
chcp 1252

ne résoud pas ton problème ?

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
CriCri
Sergio a écrit :

Ben dis-donc, il suffit de secouer un peu la structure et tous les vers
sortent des boiseries.

Salutations !

A+
CriCri

PS ...euhhh, sauf erreur de ma part...

--
bitwyse
"Être sage, ça peut être con des fois..."
Avatar
Pano
Merci à tous pour vos réponses.
J'avis initialement utilisé Wordpad et enregistré le fichier .bat au format
"document texte MS-DOS".
J'ai finalement utilisé edit (16 bits) et cela m'a rappelé quelques (vieux)
souvenirs :-)
Le fichier batch est lancé par simple clic et la compression est réalisée
correctement. Par contre, les caractères accentués des fichiers inclus dans
l'archive zip ne passent pas, mais c'est le problème de l'application. Peu
importe : il s'agit de fichiers de sauvegarde.

A noter, pour info, que l'utilisation de la commande copy dans un fichier
batch (enregistré à partir de Wordpad au format "document texte MS-DOS") ne
pose aucun problème, que le fichier soit lancé à partir de l'invite de
commande ou par simple clic.


"Pano" a écrit dans le message de
news:41f63f6f$0$19402$
Bonjour,

Je cherche à créer un fichier .bat pour automatiser la compression de
dossiers en vue d'une sauvegarde.
La commande suivante (l'utilitaire pacomp est l'outil de commande en ligne
du logiciel PowerArchiver, l'option -r indique qu'il faut compresser les
sous-dossiers) :



Avatar
Pano
>
Avant de le lancer (ou rajoute une ligne avant) un petit :
chcp 1252

ne résoud pas ton problème ?




Non, ça ne fonctionne pas.
Merci.

--
Pano
Avatar
Pano
"CriCri" a écrit dans le message de
news:41f64773$0$19417$



2. tu peux utiliser un éditeur qui te permet de saisir la commande en
caractères Windows puis enregistrer le fichier au format MS-DOS.
(Word fera l'affaire : saisis le texte dans une fenêtre '.doc' puis
l'enregistrer sous format 'Texte MS-DOS'.)




Non, justement, pas dans mon cas : cela ne fonctionne que si je lance le
fichier .bat à partir de l'invite de commande.
Mais si je tente une exécution par simple clic (comme n'importe quel
logiciel), dans ce cas, les caractères accentués lui posent problème.
Curieux d'ailleurs : il y aurait une différence au niveau de l'interpréteur
de commandes ??

3. tu peux utiliser <ALT>+nnnn sur le pavé numérique pour insérer le
code voulu selon CP850 : par exemple <ALT>-0130 pour 'é' (4 chiffres :
le premier zéro est indispensable - sinon tu obtiendras le caractère
Windows 130 - ',').




1 2