Rechercher : dans
Par :

Caractères spéciaux dans un .bat

Dernière réponse le 25 jun 2009 à 08:20:22 Fonx2, le 22 jan 2008 à 12:22:26 
 Signaler ce message aux modérateurs

Bonjour,

Alors voila, Je voudrai renommer des fichiers en mp3 avec une la commande "rename" de dos. Comme je dois en renommer environ 150, je me suis dit que je pourrai me faire un ".bat" contenant des lignes du genre:

[contenu du .bat]

rename "a.mp3" "a Nº86.mp3"

[fin du .bat]

Seulement voila, cet idiot n'arrive pas à prendre correctement en charge le caractère "º" (qui correspond au ALT + 167 pour la table ACSII 2). A la place, j'obtient un horrible caractère carré et blanc.

Le plus curieux, c'est que quand je tape la même chose dans l'invite de commande, sa fonctionne à merveille! Le caractère s'affiche normalement dans le nom du fichier renommé.


Comment faire?

Configuration: Windows XP media center 2005 (SP2)
Internet Explorer 7.0

Meilleures réponses pour « Caractères spéciaux dans un .bat » dans :
Caractères spéciaux HTML Voir Codage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...
[CCM] Utiliser des caractères spéciaux Voir Vous pouvez utiliser des caractères spéciaux dans vos messages sur les forums de CCM. Vous pouvez: Soit utiliser la table de caractères Windows (charmap.exe) et copier-coller les caractères dans le message. Soit utiliser les entités...
Oracle - Echappement de caractères spéciaux Voir Pour certaines requêtes SQL, nous avons besoin de rechercher des chaînes de caractères contenant des caractères spéciaux tels que '%' Dans l'exemple suivant, qui est faux, le besoin est de trouver les enregistrements contenant au milieu le...
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
Supprimer un fichier contenant des caractères spéciaux VoirSi le fichier que vous souhaitez supprimer commence par un caractère "moins" (-), la commande rm risque de prendre la suite comme une option de la ligne de commande. Pour y remédier, une première solution consiste à faire précéder le nom du...

1

DjSKeud, le 22 jan 2008 à 12:34:59

Bonjour,

as-tu essayer de proteger ton caractère pas un / (ou \ je ne me souvient plus) ?
DjSkeud,

Répondre à DjSKeud

2

Char Snipeur, le 22 jan 2008 à 12:45:20

Salut.
Il existe plein de petit logiciel gratuit permettant de renommer en masse les fichiers.
Je pense que ton problème viens de l'éditeur : pour peu qu'il n'utilise pas le même "standard" que le cmd pour encoder les caractères, et tu es embéter.
mon conseil si tu persiste dans cette voie, change d'éditeur pour un qui te permet de choisir l'encodage de tes caractères. Je n'en ai malheuresement pas à te conseiller. Mais essai peut être edit (cmd->edit) qui étant fait pour ça code peut être dans le bon mode
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

3

tarek_dotzero, le 22 jan 2008 à 13:07:11

Salut,

Sous vista cela marche sans probleme et sans mettre ni \ ou /.
Si vous n'êtes pas oubligés d'utiliser le .bat, faites comme Char Snipeur a dit. Sinon, installez le PowerShell il est gratuit et plus puissant q'un shell dos simple.

Répondre à tarek_dotzero

4

Fonx2, le 22 jan 2008 à 15:30:36

Tout d'abord, merci à tous pour vos multiple réponses toutes très interressante.

Effectivement, je pense qu'il s'agit d'un problème de standard. Je ne sais pas ce qu'est la commande "edit" mais je vais m'y interresser.

Sinon, oui, je crois que je n'est malheureusement pas le choix: je suis obligée de faire un .bat car le .bat en question doit être utiliser pour renommer les mêmes fichiers mais sur plusieurs postes différents.

En fait, le but est de ne faire le travail qu'une fois pour toutes. Chaque fichier à un nom différent (numérotation puis titre spécifique).
En gros, on a copié sur différentes machine environ 250 fichiers en mp3 mais on a oublié d'en renommer une partie (environ 150). J'ai les fichiers sur mon PC. Je veux donc faire un .bat qui renommera tous les fichiers d'un coup et que je pourrai ensuite envoyé par mail pour renommer également les différente copies disséminés sur les autres PC.

Voila.

J'ajoute que l'obligation d'utiliser un .bat vient du fait que je ne peut utiliser que les programmes de windows XP puisque je ne peut pas installer des applications tiers sur les différents postes (exclu donc l'utilisation d'un petit prog gratuit pour renommé en masse). En fait, si il est possible de créer quelque chose qui me renomme mes multiples fichiers sans avoir recourt à autres choses qu'aux ressources de windows, sa sera bon aussi (je pense par exemple à un .exe).

Merci d'avance pour vos réponses.

Répondre à Fonx2

5

cgui33, le 22 jan 2008 à 19:33:04

Salut
sous 2000 ça fonctionne très bien !
Ne serait ce pas une histoire de table de caractères ?
A+

Répondre à cgui33

6

Fonx2, le 23 jan 2008 à 10:21:05

En effet, il s'agit certainement d'un problème de table de caractère. La question est maintenant: Comment régler ce problème???

Une chose est d'identifier le problème, une autre est de le résoudre !!!

Merci quand même d'avoir essayé sous windows 2000. C'est un petit essai qui peut se révéler fort utile!!

@+++

Répondre à Fonx2

7

Char Snipeur, le 23 jan 2008 à 10:59:50

Salut
as tu essayer edit alors (c'est l'éditeur MS DOS de base) ?
Un des meilleurs éditeur, d'après ce que j'ai entendu dire, c'est notepad++, essai avec.
Sinon, une idée m'est venu, tu peux essayer de trouver le caractère de l'éditeur qui correspond au '°' dans le shell.
tente :

echo "°">carac_deg.txt
sinon, ecris tout les caractère de 127 à 255 dans ton éditeur est regarde ce que ça donne dans ta console.
Chez moi, le code caractère de '°' est 248 dans la console. Utilise ce petit programme si tu veux savoir :
#include <stdio.h>
int main()
    {
    for(int i=0;i<256;i++)
        {
        printf("%d\t%c\n",i,(unsigned char)i);
        }
    scanf(" ");
    return 0;
    }

Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

8

Fonx2, le 23 jan 2008 à 11:50:21

Oula!! Je n'ai pas tant de connaissance que sa en programmation MS-DOS!! Cependant, je pense avoir à peu près compris ce que tu dit.

En gros, il faut que je trouve le code auquel correspond le caractère désirer dans le "shell" (sauf que je ne sais pas ce que c'est que le shell mais bon c'est pas grave car je supose qu'il s'agit d'une référence contenant, surement entre autre, les différents caractères utilisable).

Si je ne trouve pas ou qu'il n'existe pas, il me faudra alors les définir moi-même via la commande "edit".
Le prob, c'est que je ne connais absolument pas cette commande. Je ne l'ai jamais utilisé de ma vie. Je vais jeter un coup d'oeuil sur internet pour voir ce que je peut trouver sur le sujet (genre un bon tuto!!).

En tout cas, merci beaucoup Char snipeur! T'as vraiment l'air de t'y connaitre et c'est vachement sympa de te pencher sur mon problème.

Sinon, temps qu'on y est, y a t-il aussi moyen de programmer quelque chose pour modifier les informations des morceaux? Je veut parler de ce qu'on peut attribuer comme informations en faisant un clik droit sur le fichier ".mp3", puis propriétés, puis résumer, puis avancé.
Si oui, sa serai vraiment parfait!

Finalement, il devrait y avoir moyen d'utiliser un logiciel tiers même si sa ne m'arange pas car cela me rajouterai alors des étapes.

Merci encore à tous!

Répondre à Fonx2

9

Fonx2, le 23 jan 2008 à 11:56:46

Je vient de tester la première ligne, celle qui créer un petit fichier texte nommée "carag_deg.txt". Le résultat est un petit symbole genre "o" barré en diagonale de gauche à droite. Si je met sa, j'sui mal barré!! C'est vraiment dommage mais sa ne marche pas.

Reste à tester la deuxième proposition.

@+++!

Répondre à Fonx2

10

Fonx2, le 23 jan 2008 à 12:05:02

J'ai aussi testé la deuxième proposition mais sa ne donne rien. Le ".bat" s'exécute puis se ferme aussitôt sans autre protestation.
C'était censé faire quoi au juste??

J'ai essayé de mettre "pause" à la fin pour l'obliger à me montré ses activités mais c'est sans effet! (comme pissé dans un violon ou donner un coup de marteau dans un seau de caca!!!)

Rummm!

Enfin, voila quoi. Sans résultat concret donc.

Désolé!

@++!

Répondre à Fonx2

11

Char Snipeur, le 23 jan 2008 à 13:03:05
  • +1

Le shell, c'est MS-DOS, ou cmd, appel ça comme tu veux.
Tu as essayer de copier ton "o" barré dans ton .bat pour voir si ça metait le bon caractère ?
Pour edit, ouvre le DOS, et tape "edit". ça t'ouvre l'éditeur, et essaie de mettre ton code dedans (.bat), peut être qu'il te sortira le bon caractère.
Sinon, utilise ALT+248 à la place de '°' dans ton éditeur.
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

12

Fonx2, le 23 jan 2008 à 18:58:53

J'ai essayé le alt+248 mais sa fait pareil.

Pour l'histoire de la commande "edit", je vais essayé.

+ d'info pour demain.

@++!

Répondre à Fonx2

13

FonX2, le 6 avr 2008 à 01:47:53
  • +1

DESOLER POUR CETTE LONGUE ABSENCE!!!

J'avoue que j'ai été un peu déborder ses derniés tps. Dsl.
Je viens d'essayé la commande "edit" dans MS-DOS. Effectivement! C'est géant! Et surtout, SA MARCHE!!

Et oui, je le confirme, en écrivant mon .bat avec l'éditeur de texte répondant à la commande "edit" de MS-DOS, le caractère s'affiche correctement dans l'explorateur windows.

Par curiosité, j'ai ouvert le .bat ainsi générer avec le bloc-note windows et à la place du "°", apparraît un curieux petit symbole. Conclusion: les deux programme n'utilise pas la même table de caractère. C'est de cette incohérance que vient mon problème.

Un grand merçi donc à tous ceux qui ont daigné me répondre sur cette discution et tout particuliairement à "Char Snipeur" qui a trouver cette merveilleuse solution!! Gloire à lui!!!


Maintenant, si quelqu'un peut me dire comment je fais pour indiquer que la question est résolut car comme je n'étais pas encore membre jusqu'à présent je ne sais pas comment faire. Merci d'avance!

@@++

Répondre à FonX2

14

anonyma, le 4 fév 2009 à 18:42:56

Coucou quand on cet pas faire on touche pas et on appele un informaticien c tout ou on c ou on c pas

Répondre à anonyma

15

Fonx2, le 4 fév 2009 à 21:18:36

Et quand on est un animal comme toi, on ne touche pas à un clavier pour sortir des bétises plus grosse que soi!!

Petit rappel pour ta gouverne: ici c'est un forum d'entraide = pour aider les gens qui savent pas à faire pour régler leurs problèmes et pour qu'après ils sachent (je précise des fois que sa soi trop intelo pour toi et tes idioties).

NB: Je comprend que les personnes de ton espèces reste des anonymes!! Aucun intérêt...!

Répondre à Fonx2

16

ZeKaï, le 6 mar 2009 à 11:07:21
  • +6

Je viens de voir ce topic car je faisais une recherche sur le même sujet et même s'il est résolu, je ne peux m'empêcher de répondre à "anonyma".

Manifestement tu ne sais pas écrire français s'il on tient compte du nombre incroyable de fautes que tu as réussi à faire dans 2 lignes... Pourtant ça ne t'empêche pas d'essayer de le faire (sans grand succès il faut bien le dire).
Suis donc ton propre conseil, appelle un professeur de français et arrête de venir poster sur des forums auxquels tu n'apporte clairement rien... Un conseil aussi imbécile, tu aurais mieux fait de le garder pour toi.

Répondre à ZeKaï

17

cgui33, le 6 mar 2009 à 23:39:44

Salut
Tout à fait d'accord sur le fond, mais attention !

s'il on tient compte

s'écrit

si l'on tient compte


A+ (ça vaut quand même un +1)
PS : ce genre de réponse (anonyme) devrait même être supprimée !

Répondre à cgui33

18

ZeKaï, le 7 mar 2009 à 14:09:30
  • +1

Oui effectivement, merci pour la correction. :)

Répondre à ZeKaï

19

bzhboy, le 25 jun 2009 à 08:05:56

Bonjour,

pourquoi t'embêter à programmer en DOS.
Utilise Ant Renamer, c'est gratuit, très puissant et simple d'utilisation http://www.antp.be/software/renamer/download/fr

Sinon, si tu veux vraiment faire un script, tu trouveras des infos ici : http://www.batcher.fr/

Bon courage

Répondre à bzhboy

20

 Char Snipeur, le 25 jun 2009 à 08:20:22
  • +1

L'interet du dos, c'est que tout le monde l'a. Ce qui est pratique pour la distribution. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur