Nom de fichiers avec accent (é=Ú et è=Þ NT4 SP6) - Shell/Batch - Programmation
Marsh Posté le 15-11-2002 à 17:20:11
| Casing a écrit a écrit  : j'ai des fichiers a sauvegarder et a renomer, ces fichiers ont de noms avec accents (les noms de fichiers sont utilisés dans un soft proprietaire), lorsque je lance mon fichier de commande il remplace les accents é=Ú et è=Þ donc ca plante (le soft ne retrouve plus c'est fichiers)   comment je peux m'en sortir svp   | 
 
 
tu peux les renomer en les selectionnant en absolute string 
mv "~~fichier~~" ou entre '' selon les distributions 
su tu as des fichier commencant par tiret -fichier  
je crois qu'il faut faire comme pour l'effacement c'est a dire : rm -- -fichier sinon ca marche pas. 
 
mv "?????" riuta 
meme ca, ca marche . 
 
Marsh Posté le 15-11-2002 à 20:21:41
Les commandes se font comment ? Fichier de liste ? 
 
J'avais écrit un petit truc sous DOS qui filtre les caractères ASCII > 127 pour récupérer des fichiers DOS sous Windows. 
Qq s'en est servi sur HFR pour faire des listes de mp3 (liste sous DOS à récupérer sous Windows). 
On s'en sert sur fichier ou par piping 
 
DIR *.truc /ON /OD | KI_WIN > c:\liste.txt ' transcode les caract au vol 
 
ou KI_WIN liste.txt > c:\nouvlist.txt ' traite les caract de liste.txt 
 
(DOS 16 bits) 
 
Si ça peut servir je le met sur mon site tt à l'heure (c'était prévu mais dans qq semaines, y autres urgences).
Marsh Posté le 15-11-2002 à 21:06:11
| carbon_14 a écrit a écrit  : Les commandes se font comment ? Fichier de liste ? J'avais écrit un petit truc sous DOS qui filtre les caractères ASCII > 127 pour récupérer des fichiers DOS sous Windows. Qq s'en est servi sur HFR pour faire des listes de mp3 (liste sous DOS à récupérer sous Windows). On s'en sert sur fichier ou par piping DIR *.truc /ON /OD | KI_WIN > c:\liste.txt ' transcode les caract au vol ou KI_WIN liste.txt > c:\nouvlist.txt ' traite les caract de liste.txt (DOS 16 bits) Si ça peut servir je le met sur mon site tt à l'heure (c'était prévu mais dans qq semaines, y autres urgences). | 
sous kro$oft je vais pas t'aider j'ai abandonne depuis trop longtemps kro$oft pourca...
Marsh Posté le 15-11-2002 à 21:55:55
Les commandes se font comment ? Fichier de liste ? 
tout bête  copy paramètres.txt   sav_parametres.txt 
 
mais il trouve jamais "paramètres.txt" il cherche "paramUtres.txt" 
 
J'avais écrit un petit truc sous DOS qui filtre les caractères ASCII > 127 pour récupérer des fichiers DOS sous Windows. 
Qq s'en est servi sur HFR pour faire des listes de mp3 (liste sous DOS à récupérer sous Windows). 
On s'en sert sur fichier ou par piping 
 
DIR *.truc /ON /OD | KI_WIN > c:\liste.txt ' transcode les caract au vol 
 
ou KI_WIN liste.txt > c:\nouvlist.txt ' traite les caract de liste.txt 
 
(DOS 16 bits) 
 
Si ça peut servir je le met sur mon site tt à l'heure (c'était prévu mais dans qq semaines, y autres urgences). 
 
Url Stp  
 
Marsh Posté le 15-11-2002 à 22:14:22
Je viens de le mettre sur mon site (icône "maison" au dessus du message), section softs persos. 
 
Mon ki_win peut filtrer le contenu d'un FICHIER, pas de changer le é ou è du nom qui est passé en paramètre de COPY. A moins de faire avant une liste de tous les fichiers genre 
 
paramètre0s.txt 
paramètre1s.txt 
paramètre2s.txt 
paramètre3s.txt 
 
puis d'appliquer une commande globale. 
 
C'est sous quel OS ? Sous W2k, je viens d'essayer avec paramètres.txt, ça marche très bien. Quand y a des espaces, des fois faut mettre " " autour des noms de ligne de commande. 
 
Donc, le nom "paramètres.txt" est généré (imposé par construction) par un soft et il faut en faire une sauvegarde renommée. 
 
dir pa*.txt donne quoi ? Il voit qq chose le DOS de l'OS ?
Marsh Posté le 15-11-2002 à 22:57:34
L'OS, c'est "NT4 SP6" ?? Je sais plus quel SP j'ai au labo. 
Je regarde ça lundi matin. 
 
La commande copy est lancée par un shell, une commande DOS directe à la main, depuis Windows ? Le nom "paramètres.txt" est passé en paramètre à un batch ..?
Marsh Posté le 16-11-2002 à 16:26:45
Donc, le nom "paramètres.txt" est généré (imposé par construction) par un soft et il faut en faire une sauvegarde renommée. 
Oui en fait c'est un log qui se rempli et je veux le sauvegarger, l'effacer et  copier une sav "vide" a la place a chaque reboot de la machine  
 
dir pa*.txt donne quoi ? Il voit qq chose le DOS de l'OS ? 
 
Les noms complet avec les accents 
 
OS : WIN NT4 SP6 
 
j'ai fait un fichier .bat avec les commandes DOS 
a peu prés ca : 
 
cd xxxx 
copy paramètres.txt c:\xxxx\sav\savparametres.txt 
del paramètres.txt  
copy vide_paramètres.txt paramétres.txt 
 
cd\ 
que je mettrai dans de groupe "Demarrage"
Marsh Posté le 17-11-2002 à 19:07:06
Donc 
 
DIR par*.txt donne  
                    paramètres.txt 
 
COPY paramètres.txt *.bid donne  
                    "fichier non trouvé" 
 
C'est ça ? 
Je vais voir sous NT demain matin. 
 
Le répertoire c:\xxxx\sav\ existe bien déja ? C'est pas ça qui le bloque ? 
 
Si le DIR sous DOS affiche les è, je vois pas à quel endroit on a l'équivalent windowsien. 
 
Une solution si c'est TOUJOURS le même nom ce qui est la cas ici, c'est de remplacer le è par ALT+138 (voire 0138) pour avoir son équivalent (on maintient ALT enfoncé et tape 1 puis 3 puis 8 puis relache ALT, le caractère doit apparaître, "bizarre" ou pas), valable sous DOS(138 suffit) ou Windows(0138, faut le zéro). 
 
 
Au lieu de  
del paramètres.txt   
copy vide_paramètres.txt paramétres.txt  
 
y aurait moyen de faire 
copy vide_paramètres.txt paramètres.txt 
  
Ca écrasera paramètres.txt avec le fichier vide. 
Si demande confirmation, essayer 
echo O | copy vide_paramètres.txt paramètres.txt 
Ca envoie caract O (ou mettre Y si besoin  ) à question voulez-vous écraser. Ca évite surtout de faire trou avec del et recréer ensuite.. (je chipote)
) à question voulez-vous écraser. Ca évite surtout de faire trou avec del et recréer ensuite.. (je chipote) 
 
Marsh Posté le 17-11-2002 à 19:17:51
Le nom "paramètres.txt" est contenu dans un fichier et c'est ça qui pose le pb (le è DOS devenant ? ou autre en passant sous Windows) ou c'est un nom obligé ? 
 
Sous DOS, ça devrait être homogène. 
Ou le soft WINDOWS génère un log dont le nom Windowsien est "paramètres.txt" mais devient "param?tres.txt" une fois sauvé sous DOS. 
 
Je n'arrive toujours pas à voir à quel endroit le pb a lieu, quelle est la manip "foireuse". 
 
Sur que quand on lit un texte DOS accentué sous Windows, les caractères sont "décalés/amochés".
Marsh Posté le 18-11-2002 à 10:23:49
Resultat du "Dir" 
18/11/02  08:58         <DIR>          . 
18/11/02  08:58         <DIR>          .. 
18/11/02  08:57                    411 enregistrement paramétres.txt 
18/11/02  08:56         <DIR>          Sauvegarde2002 
21/05/01  08:00                    303 vierge enregistrement paramétres.txt 
               5 fichier(s)              714 octets 
 
 
resultat de l'execution du fichier    Miseajour.bat 
C:\>REM effacement du fichier 
 
C:\>DEL  "enregistrement paramÚtres.txt" 
Impossible de trouver C:\enregistrement paramÚtres.txt 
 
paramétres.txt et un nom obligé par le soft (pilotage d'un laser, le fichier et un log de surveillance qui "gonfle trop vite et qui ralenti l'execution recherche du "ETX" pour ecrire dedans) 
 
je te remercie pour ton aide suivie de mon probléme   
  
 
Marsh Posté le 18-11-2002 à 11:05:10
Le .BAT a été tapé sous WINDOWS, non ? D'où le problème (je viens de tester en copiant/collant dans PFE, enregistrement paramétres.txt donne bien un caractère  .
. 
Si le fichier BAT doit être écrit sous Windows et non sous DOS à l'aide de l'éditeur EDIT, on peut passer outre en tapant ALT+0138 pour avoir le è, ça donne un carré noir sous Windows (dans PFE qui est un éditeur ASCII), on sauve et sous DOS, type nomdefich.txt affiche bien le è. 
Pour le é (paramètre, y a un è je crois, pas un é), ça doit être qq chose comme ALT+0130. 
Marsh Posté le 18-11-2002 à 11:21:23
| Casing a écrit a écrit  : Resultat du "Dir" 18/11/02 08:58 <DIR> . 18/11/02 08:58 <DIR> .. 18/11/02 08:57 411 enregistrement paramétres.txt 18/11/02 08:56 <DIR> Sauvegarde2002 21/05/01 08:00 303 vierge enregistrement paramétres.txt 5 fichier(s) 714 octets resultat de l'execution du fichier Miseajour.bat C:\>REM effacement du fichier C:\>DEL "enregistrement paramÚtres.txt" Impossible de trouver C:\enregistrement paramÚtres.txt paramétres.txt et un nom obligé par le soft (pilotage d'un laser, le fichier et un log de surveillance qui "gonfle trop vite et qui ralenti l'execution recherche du "ETX" pour ecrire dedans) Nota : les commandes passent trés bien dans une fenetre "invite de commande" de NT je te remercie pour ton aide suivie de mon probléme   | 
Marsh Posté le 18-11-2002 à 11:36:02
| Casing a écrit a écrit  : Nota : les commandes passent trés bien dans une fenetre "invite de commande" de NT | 
 
 
Ben voui car ce sont des commandes DOS avec des caractères DOS. 
Si on tape les commandes sous Windows, elles se font avec des caractères "OEM" je crois => différents pour ascii > 127. 
 
Si le batch est tapé/édite avec EDIT sous DOS, ça doit être tout bon. 
Si tapé sous Windows, faut adapter les caractères sépciaux !! Avec ALT et les chiffres qui forment le nombre du code ASCII. 
  
 
Marsh Posté le 18-11-2002 à 14:04:38
| carbon_14 a écrit a écrit  : Si le batch est tapé/édite avec EDIT sous DOS, ça doit être tout bon. Si tapé sous Windows, faut adapter les caractères sépciaux !! Avec ALT et les chiffres qui forment le nombre du code ASCII.   | 
 
 
Ca marche pas avec les codes ascii "alt+130" pour "é" mais au moment de l'execution c'est remplacé par Ú "alt+0218"   
  
Marsh Posté le 18-11-2002 à 14:12:24
commande ecrite sous "edit" dans une fenetre DOS : 
copy "enregistrement paramétres.txt"  
 
 
a l'execution :copy "enregistrement paramétres.txt"   
  
 
edition sous notepad : copy "enregistrement param?tres.txt"   etonnant non je vais tout ré-écrire et je test
 etonnant non je vais tout ré-écrire et je test   
   
 
Marsh Posté le 18-11-2002 à 14:22:47
essaie en remplaçant les caractères accentués par ?, (caractère générique). 
S'il n'y a pas de fichier au nom identique à l'exception du caractère remplacé par ? celà ne devrait pas poser de problème.
Marsh Posté le 18-11-2002 à 14:42:34
| Casing a écrit a écrit  : Ca marche pas avec les codes ascii "alt+130" pour "é" mais au moment de l'execution c'est remplacé par Ú "alt+0218"   | 
 
 
Quand on l'écrit sous WINDOWS (notepad est très Windowsien, pur 100%), c'est ALT+0xxx, faut le zéro sinon on a le code ASCII (qui est  é sous DOS)
é sous DOS) 
 
Le mieux est, sous DOS, lancer EDIT<return> 
fichier/ouvrir/lefichierbat 
remplacer le  par é ou le
 par é ou le  par è comme on tape sous DOS (donc é ou è) et fichier/sauver puis fichier/quitter.
 par è comme on tape sous DOS (donc é ou è) et fichier/sauver puis fichier/quitter. 
Ca (devrait) être bon.
Marsh Posté le 18-11-2002 à 15:34:26
Un grand merci a Carbon_14 qui a trouvé la soluce : 
ecrire le fichier avec l'editeur "edit" dans une fenetre DOS 
 
  
   
   
   
   
  
 
nota : le copier/coller du notepad vers l'editeur ne marche pas 
il faut retaper les commandes.
Marsh Posté le 18-11-2002 à 16:36:05
Ce sont des "mondes" différents, bien que sous Win 3.11, j'ai un vieil utilitaire qui le fait (mais dans l'autre sens). 
 
Quand il n'y a que des caractères à changer, ça aide aussi (EDIT -> notepad ou notepad->edit).
Marsh Posté le 15-11-2002 à 15:40:11
j'ai des fichiers a sauvegarder et a renomer, ces fichiers ont de noms avec accents (les noms de fichiers sont utilisés dans un soft proprietaire), lorsque je lance mon fichier de commande il remplace les accents é=Ú et è=Þ donc ca plante (le soft ne retrouve plus c'est fichiers) 
  
 
 
comment je peux m'en sortir svp