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)
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
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)
Le mieux est, sous DOS, lancer EDIT<return>
fichier/ouvrir/lefichierbat
remplacer le par é ou le 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