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

Copier des fichiers avec des caractères spéciaux vers une partition fat32

16 réponses
Avatar
Xavier
Bonjour à tous,

j'ai une petite colle à vous poser.
Peut-être que quelqu'un connaît une solution (simple) à mon problème.


Je veux copier une arborescence de fichiers d'une partition ext3 vers une
partition fat32. Parmis les fichiers à copier, certains sont nommés avec
des caractères spéciaux (':' ou '?' par exemple).

Connaissez-vous un outil qui permettrait la copie de tels fichiers en
supprimant ou remplaçant ces caractères ?


Merci,

Xavier




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

6 réponses

1 2
Avatar
mouss
Xavier wrote:
Merci pour votre aide.

Je suis d'accord avec la plupart d'entre-vous concernant l'utilisation du
système de fichier fat32.

Mais des fois, on a pas le choix.
Mes contraintes étaient de mettre sur une clef usb des fichiers à lire sur
un mac ou un windows, et je n'aurai pas forcément la possibilité
d'installer quelque chose pour m'aider à les lire.

De plus, je trouve dommage de ne pas utiliser les accents dans les noms de
fichiers uniquement parce que certains systèmes de fichiers ne les gèrent
pas. Bien sûr, ça peut se justifier si on les utilisent régulièrement mais
ça n'est pas mon cas.





ça pose des problèmes, donc l'interet est réduit. un fichier de
description (genre transtbl.map :) suffit si tu veux "documenter" ce
qu'est chauqe fichier. car se taper des crises de nerfs à cause d'un
"Copie de popo.lnk" dans un find, c'est pas super top. voir rater un "ls
foo<bar.txt" qui écrase le fichier "foo" alors qu'on voulait pas, ...


si tu veux t'amuser, créé des fichiers avec des lettres majuscules
accentuées sous windows (genre À), et essaye de les ouvrir avec
differents softs. quand ça plante, tu ne sais pas pourquoi (enfin si,
mais quand ça m'arrivait au début, je ne réagissais pas vite), parce que
l'erreur c'est le classique "ressource en cours d'utilisation. fermez le
machin chouette ..." C'est mieux que "une erreur inconnue est arrivée.
voulez-vous continuer: OK. Annuler", mais bon. je préfère au moins le
côté satirique (ou sadique?) de "keyboard error. type F1 to continue".

Conclusion, je m'en suis sorti avec un krename :
1) changement de jeu de caractères pour transformer les é à ç en e a c




Attention quand-même:

% ls -1
même.avi
mémé.avi
...
% mon_rename...
% ls -1
meme.avi

ça peut faire gagner de la place, mais bon, c'est quand-mémé pas le but.
2) remplacement des ? : < > par des '_'



idem pour:
% ls -1
toto:V.txt
toto_V.txt

de toute façon, j'espère que t'as pas des fichiers avec des < et > par
exemple. sinon faut faire attention quand tu lances des commandes...

PS. y a aussi le probleme des fichiers genre ".bashrc"...
En ligne de commande, d'après ce que j'ai vu :
1) peut se faire avec
mv et iconv
ou
convmv (pas pu tester à cause d'un bug dans perl)

2) peut se faire simplement avec rename
Il faut juste identifier les caractères interdits en fat.
Selon wikipedia
(http://en.wikipedia.org/wiki/File_Allocation_Table#Directory_table) :
" * / : < > ? |



Pour ceux que ça intéresse, une piste que je n'ai pas exploré sont les
options de montage de la partition vfat :
option uni_xlate (cf man mount)

J'ai pas essayé (j'avais d'autre chose à faire)
mais hal me montait ma clef avec les options :
rw,nosuid,nodev,noatime,uhelper=hal,flush,uid00,utf8,shortname=lower


Question bonus :

Le caractère '/' est-il autorisé pour un nom de fichier en ext3 ?




non, car comme tu dis, c'est le séparateur de dossiers.
Est-ce que ça a du sens vu que / sépare les dossiers ?
Et si oui, comment créer un fichier nommé '/' ?




a peu pas. et ça m'étonnerait que ça marche sous windows, puisque '/'
est pour les options (genre 'dir /w' ....);


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Xavier, jeudi 21 février 2008, 00:00:09 CET
[…]
Question bonus :

Le caractère '/' est-il autorisé pour un nom de fichier en
ext3 ? Est-ce que ça a du sens vu que / sépare les dossiers ?
Et si oui, comment créer un fichier nommé '/' ?



C’est impossible pour tout programme qui utilise les appels
système fournis par le noyau Linux pour accéder au système de
fichiers.

Explication : la notation des chemins est une convention du
système (Unix, même). Les '/' ne font pas partie du FS, seuls
les noms des répertoires et des fichiers y sont stockés. Les
'/' servent juste à représenter la hiérarchisation.
Le chemin est décodé par le noyau au niveau du système de
fichiers virtuel et le trajet qu’il décrit est appliqué au
système de fichier par le biais de fonctions de base (« est- ce
que tu connais le répertoire “truc” »,  «Â va dans “truc” », etc.,
où “truc” ne contient pas de '/').
En fait, ce décodage est fait par la fonction __link_path_walk
(non, je ne connais pas par cœur, j’ai cherché un peu).

Cette fonction est définie dans le fichier fs/namei.c et on y
trouve :
while (*name=='/')
name++;
,
} while (c && (c != '/'));
ou encore
while (*++name == '/');

Ce qui prouve que '/' est :
— « codé en dur » (ouh, c’est vila in) ;
— le seul et unique séparateur de répertoires.

Accessoirement, ça dit aussi que plusieurs « / » sont
équivalents à un seul (citations 1 et 3 : on avance dans le nom
tant qu’on a des barres obliques).

On trouve aussi (au moins deux fois (ouh, c’est vilain)) :
if (this.name[0] == '.') switch (this.len) {
default:
break;
case 2:
if (this.name[1] != '.')
break;
follow_dotdot(nd);
inode = nd->dentry->d_inode;
/* fallthrough */
case 1:
continue;
}
qui est le traitement de « . » et « ..  ».

Donc '/' est le seul caractère spécial pour Linux et «  . » et
« .. » les deux seuls noms spéciaux (on a le droit à « ... »
p.ex.).

--
Sylvain Sauvage
Avatar
Yves Rutschle
On Wed, Feb 20, 2008 at 06:39:35PM +0100, Michel Campfort wrote:
On peut aussi ne pas utiliser les caractères à problème dans les noms
de fichiers/répertoires ( pas de éàçèÖ espaces et autres joyeusetés ).
On vit très bien sans et cela passe partout sans aucun problème.



Quand tu as une collection de 4000 MP3 nommés d'après une
base de donnée avec des accents dedans, la question se pose
vraiment.

D'autre part, on peut se demander s'il est normal,
aujourd'hui, de devoir se limiter à des noms compatibles
avec l'anglais. Pourquoi ne pas également limiter les noms
en 8.3, au cas où tu tombes sur du vieux vfat?

Y.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Michel Campfort
Yves Rutschle a écrit :
On Wed, Feb 20, 2008 at 06:39:35PM +0100, Michel Campfort wrote:
On peut aussi ne pas utiliser les caractères à problème dans les noms
de fichiers/répertoires ( pas de éàçèÖ espaces et autres joyeusetés ).
On vit très bien sans et cela passe partout sans aucun problème.



Quand tu as une collection de 4000 MP3 nommés d'après une
base de donnée avec des accents dedans, la question se pose
vraiment.



Je comprends très bien ce problème, mais je faisais une réponse
générique : au boulot, j'ai toujours des collègues qui beuglent
car on ne peut pas mettre de / dans les noms de fichiers!

D'autre part, on peut se demander s'il est normal,
aujourd'hui, de devoir se limiter à des noms compatibles
avec l'anglais. Pourquoi ne pas également limiter les noms
en 8.3, au cas où tu tombes sur du vieux vfat?



Je n'irais pas jusque là... Mais tu sais, au temps béni des premières
fraiseuses numériques, les utilisateurs travaillaient beaucoup sur
apple. Puis vint le temps du PC avec son DOS. Là, ça faisait vraiment
la gueule en passant de plus de 20 à 8 caractères pour les noms de
fichiers :)

--
Amicalement

Michel


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
plop
Michel Campfort a écrit :
Yves Rutschle a écrit :
On Wed, Feb 20, 2008 at 06:39:35PM +0100, Michel Campfort wrote:
[...]




Je n'irais pas jusque là... Mais tu sais, au temps béni des premières
fraiseuses numériques, les utilisateurs travaillaient beaucoup sur
apple. Puis vint le temps du PC avec son DOS. Là, ça faisait vraiment
la gueule en passant de plus de 20 à 8 caractères pour les noms de
fichiers :)




Oui, sur Mac (au moins jusqu'aux version de MacOS 8(voir9)) les noms
des fichiers étaient limités à 31 caractères.

Le "/" était autorisé, mais pas le ":" parce que c'était lui qui
avait ce rôle.

De plus, les alias, prenaient toutes les propriétés du fichier lié,
pas comme ces foutu "raccourcis". On pouvait donc glisser un
document sur un alias d'application, ou l'inverse ou... bref, que du
bonheur, c'était ergonomique parce que peu limité.

Reste le problème de transfert vers les systèmes limités...

Il y a aussi ces fameux fins de lignes, selon Dos, unix, Apple
CR, CR+LF, LF (je ne sais plus les associations).

Avec l'UTF8, beaucoup de problèmes sont résolus.
Avec l'UTF16, c'est aussi un autre débat...

A bientôt
G


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Meurisse
Bonjour,

Je veux copier une arborescence de fichiers d'une partition ext3 vers une
partition fat32. Parmis les fichiers à copier, certains sont nommés avec
des caractères spéciaux (':' ou '?' par exemple).

Connaissez-vous un outil qui permettrait la copie de tels fichiers en
supprimant ou remplaçant ces caractères ?



Le paquet detox pourra peut-être t'aider.

The detox utility renames files to make them easier to work with. It removes
spaces and other such annoyances. It'll also translate or cleanup Latin-1 (ISO
8859-1) characters encoded in 8-bit ASCII, Unicode characters encoded in UTF-8,
and CGI escaped characters.

A+

--
Pierre Meurisse


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2