Commandes DOS: Compatibilité des noms de fichiers Mac contenant des accents
Denis_C
-
Denis_C -
Denis_C -
Bonjour,
J'utilise Windows 10, et la fenêtre de commande DOS.
Les fichiers portant un nom contenant le caractère "é" semblent être tantôt correctement traités par des commandes DOS (avec une contrainte = utiliser la commande "chcp 1252" dans le fichier batch de traitement des fichiers), et tantôt génèrent une erreur "File not found".
Après remplacement du caractère "é" par un caractère "é" copié d'un nom de fichier qui ne génère pas d'erreur, le traitement est fait sans erreur.
Pour certains des fichiers qui généraient une erreur, je suis certain qu'ils provenaient d'un Mac (et une forte suspicion pour tous les autres).
Est-ce qu'il faut utiliser une page de code spéciale qui conviendrait à la fois aux fichiers générés par Windows et aux fichiers générés par Mac ? Ou bien y a-t-il une autre solution ?
Merci d'avance
Denis
J'utilise Windows 10, et la fenêtre de commande DOS.
Les fichiers portant un nom contenant le caractère "é" semblent être tantôt correctement traités par des commandes DOS (avec une contrainte = utiliser la commande "chcp 1252" dans le fichier batch de traitement des fichiers), et tantôt génèrent une erreur "File not found".
Après remplacement du caractère "é" par un caractère "é" copié d'un nom de fichier qui ne génère pas d'erreur, le traitement est fait sans erreur.
Pour certains des fichiers qui généraient une erreur, je suis certain qu'ils provenaient d'un Mac (et une forte suspicion pour tous les autres).
Est-ce qu'il faut utiliser une page de code spéciale qui conviendrait à la fois aux fichiers générés par Windows et aux fichiers générés par Mac ? Ou bien y a-t-il une autre solution ?
Merci d'avance
Denis
Configuration: Windows / Edge 83.0.478.64
A voir également:
- Commandes DOS: Compatibilité des noms de fichiers Mac contenant des accents
- Invite de commandes - Guide
- Commandes terminal mac - Guide
- Fonction ms dos non valide - Forum Windows 8 / 8.1
- 'Pip' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. ✓ - Forum Python
- Commande dos copy répertoire et sous répertoire ✓ - Forum Windows
2 réponses
C'est dans le stockage des noms de fichiers, en UTF8 il y a 2 manière de le stocker :
Soit directement le code correspondant au é soit le E + l'accent.
Sur mac il préfère la 2ième solution tandis que partout ailleurs c'est la première qui est privilégiée.
Soit directement le code correspondant au é soit le E + l'accent.
Sur mac il préfère la 2ième solution tandis que partout ailleurs c'est la première qui est privilégiée.
Merci!
Y a-t-il dans DOS de possibilité de travailler indistinctement sur les 2 codages de "é" ?
ou bien faut-il
- soit faire une conversion au préalable (qui serait peut-être équivalente à la commande iconv d'unix) ? e.g. changer le codage UTF8 en MS-DOS...
- soit écrire à chaque fois un test pour s'adapter à chacun des 2 cas ? Mais je ne suis pas arrivé à écrire un code qui gère les codages "e+accent"... Le code suivant ne marche qu'avec un seul des 2 codages:
Merci encore pour votre aide.
Denis
Y a-t-il dans DOS de possibilité de travailler indistinctement sur les 2 codages de "é" ?
ou bien faut-il
- soit faire une conversion au préalable (qui serait peut-être équivalente à la commande iconv d'unix) ? e.g. changer le codage UTF8 en MS-DOS...
- soit écrire à chaque fois un test pour s'adapter à chacun des 2 cas ? Mais je ne suis pas arrivé à écrire un code qui gère les codages "e+accent"... Le code suivant ne marche qu'avec un seul des 2 codages:
Setlocal enabledelayedexpansion
for /f "tokens=2 delims=:." %%x in ('chcp') do set cp=%%x
chcp 1252>nul
Set Pattern= réc
Set Replace= rec
For %%# in (*.doc) Do (
Set "File=%%~nx#"
Ren "%%#" "!File:%Pattern%=%Replace%!"
)
chcp %cp%>nul
Merci encore pour votre aide.
Denis