Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier Bat mal interprété

6 réponses
Avatar
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

6 réponses

Avatar
Azo3
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" a écrit dans le message de news:

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




Avatar
Driss HANIB
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" a écrit dans le message de
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" a écrit dans le message de news:

> 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
>
>




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

-Didier


"Driss HANIB" wrote in message
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" a écrit dans le message de
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" a écrit dans le message de news:

> 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
>
>








Avatar
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é
Avatar
[Tonio]
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é" a écrit dans le message de news:

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é


Avatar
Heffgé
"[Tonio]" a écrit dans le message de news:
#

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é