Fichier Bat mal interprété

Le
Driss HANIB
BOnjour à tous,

je ne sais pas si quelqu'un va pouvoir me renseigner
Pour faire une sauvegarde incrémentielle de fichiers sur un DD externe,
j'utilise la commande XCopy32 dans un fichier bat.
Tout se passe très bien sauf pour une commande où il y a le caractère "é",
qui est contenu dans une répertoire source.
En fait lors de l'exécution du fichier bat je vois que le caractère "é" est
remplacé dans ma commande par un U majuscule avec un accent, d'où bien sur
un fichier introuvable.
Par contre si j'utilise cette commande dans Démarrer / Exécuter : tout se
passe bien.

Quand je passe en Comnand et que je tape la commande, là aussi pas de
problème.

En fait il y a une conversion intempestive lors de l'exécution du fichier
Bat..

Y at il moyen d' empêcher cette conversion ? Je ne peux pas changer le nom
du répertoire incriminé..

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Azo3
Le #12017931
et si tu le mettais entre guillemets?

--
Serge CENCI
MVP Microsoft WINDOWS
https://mvp.support.microsoft.com/profile/Serge.Cenci



NB - adresse : enlever ENLEVER
"Driss HANIB"
BOnjour à tous,

je ne sais pas si quelqu'un va pouvoir me renseigner
Pour faire une sauvegarde incrémentielle de fichiers sur un DD externe,
j'utilise la commande XCopy32 dans un fichier bat.
Tout se passe très bien sauf pour une commande où il y a le caractère "é",
qui est contenu dans une répertoire source.
En fait lors de l'exécution du fichier bat je vois que le caractère "é"
est
remplacé dans ma commande par un U majuscule avec un accent, d'où bien sur
un fichier introuvable.
Par contre si j'utilise cette commande dans Démarrer / Exécuter : tout se
passe bien.

Quand je passe en Comnand et que je tape la commande, là aussi pas de
problème.

En fait il y a une conversion intempestive lors de l'exécution du fichier
Bat..

Y at il moyen d' empêcher cette conversion ? Je ne peux pas changer le nom
du répertoire incriminé..

Merci d'avance




Driss HANIB
Le #12017911
Salut Azo3

le problème est que c'est déjà entre guillemets car mes noms de répertoire
contiennent des espaces aussi..

Driss
"Azo3" news:
et si tu le mettais entre guillemets?

--
Serge CENCI
MVP Microsoft WINDOWS
https://mvp.support.microsoft.com/profile/Serge.Cenci



NB - adresse : enlever ENLEVER
"Driss HANIB"
> BOnjour à tous,
>
> je ne sais pas si quelqu'un va pouvoir me renseigner
> Pour faire une sauvegarde incrémentielle de fichiers sur un DD externe,
> j'utilise la commande XCopy32 dans un fichier bat.
> Tout se passe très bien sauf pour une commande où il y a le caractère


"é",
> qui est contenu dans une répertoire source.
> En fait lors de l'exécution du fichier bat je vois que le caractère "é"
> est
> remplacé dans ma commande par un U majuscule avec un accent, d'où bien


sur
> un fichier introuvable.
> Par contre si j'utilise cette commande dans Démarrer / Exécuter : tout


se
> passe bien.
>
> Quand je passe en Comnand et que je tape la commande, là aussi pas de
> problème.
>
> En fait il y a une conversion intempestive lors de l'exécution du


fichier
> Bat..
>
> Y at il moyen d' empêcher cette conversion ? Je ne peux pas changer le


nom
> du répertoire incriminé..
>
> Merci d'avance
>
>




Didier Corvest [MS]
Le #12017641
Et en passant les noms courts (en 8+3) dans le batch?

-Didier


"Driss HANIB" news:
Salut Azo3

le problème est que c'est déjà entre guillemets car mes noms de répertoire
contiennent des espaces aussi..

Driss
"Azo3" news:
et si tu le mettais entre guillemets?

--
Serge CENCI
MVP Microsoft WINDOWS
https://mvp.support.microsoft.com/profile/Serge.Cenci



NB - adresse : enlever ENLEVER
"Driss HANIB"
> BOnjour à tous,
>
> je ne sais pas si quelqu'un va pouvoir me renseigner
> Pour faire une sauvegarde incrémentielle de fichiers sur un DD externe,
> j'utilise la commande XCopy32 dans un fichier bat.
> Tout se passe très bien sauf pour une commande où il y a le caractère


"é",
> qui est contenu dans une répertoire source.
> En fait lors de l'exécution du fichier bat je vois que le caractère "é"
> est
> remplacé dans ma commande par un U majuscule avec un accent, d'où bien


sur
> un fichier introuvable.
> Par contre si j'utilise cette commande dans Démarrer / Exécuter : tout


se
> passe bien.
>
> Quand je passe en Comnand et que je tape la commande, là aussi pas de
> problème.
>
> En fait il y a une conversion intempestive lors de l'exécution du


fichier
> Bat..
>
> Y at il moyen d' empêcher cette conversion ? Je ne peux pas changer le


nom
> du répertoire incriminé..
>
> Merci d'avance
>
>








Heffgé
Le #12016481
Bonjour,

Il me semble que tu es tombé dans le piège du codage des caractères. Windows
n'utilise pas le même codage des caractères que le DOS : ANSI pour le
premier, ASCII pour le second (les dénominations rigoureuses sont un peu
plus compliquées mais celles ci sont communément admises).

Pour que les caractères munis de signes diacritiques soient correctement
interprétés, il faut que tu saisisses ton fichier batch en DOS sous edit. Vu
les symptomes, tu as du te servir de notepad.

Les guillemets ne sont utiles qu'en DOS émulé et pour des noms qui
comporteraient un blanc. En DOS natif, de toute façon, tu n'as droit qu'aux
noms courts.

Heffgé
[Tonio]
Le #12016461
Salut,

Comme dit, il te faut réécrire ton fichier de commande "en DOS" (ouvrir une
session MS-DOS et éditer ton batch avec 'EDIT' dans lequel tu verras tes
accents comme ils seront, et que ton interpréteur de commandes comprendra).
Pas sûr que le dos natif n'accepte que les noms courts (essaie).


exemple (qui fonctionne et que j'utilise) :

rem ------------------------------------------------------

rem Adapte les lignes ci-dessus à tes propres besoins.
rem Tu peux voir une "virgule" (dans partag,s), et c'est en fait
rem un "e accentué" qui s'affichera correctement dans 'EDIT'
rem que tu ouvriras à partir d'une fenêtre MS-DOS.

rem ------------------------------------------------------

@Echo Off

set srce="C:Documents and SettingsAll UsersDocuments*.*"
set dest="T:Sauvegardes partag,s (Toshiba)"

echo.
echo Copie de %srce% vers %dest%
echo.

If not exist %srce% goto erreur

echo on
xcopy %srce% %dest% /s/e/h/c/k/r/y/i
Echo.
pause
goto fin
:erreur
Echo.
Echo Le r,pertoire (%srce%) . copier n',xiste pas !
Echo Op,ration abandonn,e !
Echo.
pause
Echo.
goto fin
:fin
rem ------------------------------------------------------

Amicalement, Tonio :-)



"Heffgé"
Bonjour,

Il me semble que tu es tombé dans le piège du codage des caractères.
Windows
n'utilise pas le même codage des caractères que le DOS : ANSI pour le
premier, ASCII pour le second (les dénominations rigoureuses sont un peu
plus compliquées mais celles ci sont communément admises).

Pour que les caractères munis de signes diacritiques soient correctement
interprétés, il faut que tu saisisses ton fichier batch en DOS sous edit.
Vu
les symptomes, tu as du te servir de notepad.

Les guillemets ne sont utiles qu'en DOS émulé et pour des noms qui
comporteraient un blanc. En DOS natif, de toute façon, tu n'as droit
qu'aux
noms courts.

Heffgé


Heffgé
Le #12016441
"[Tonio]" #

Pas sûr que le dos natif n'accepte que les noms courts (essaie).



Je pense avoir testé avant de publier ceci :
http://gondard.perso.cegetel.net/Informat/DOS_fg/Le_dos_sied_noms.htm

Mais tout le monde peut se tromper.

Heffgé
Publicité
Poster une réponse
Anonyme