Forum Clubic

Perte de la casse lors de la copie depuis XP vers UNIX

Bonjour,

je travaille sur une machine équipée de windows XP et je dois transférer de nombreux fichiers vers un serveur UNIX.
Lors de la copie, beaucoup de fichiers perdent leur casse, cad qu’ils sont renommés en minuscule, sauf ceux qui contiennent un tiret.

Auriez vous une solution à ce problème? Je ne peux garder les noms en minuscule car je risque des erreurs de production.

J’ai essayé un batch dos sans succès (prévisible).
J’ai aussi tenté un script unix de renommage mais ça plante aussi :


/*Affichage du fichier renommée*/
/*étape suivante : inclusion de la commande mv */
for file in `ls *.xml`; do VARMAXJM=echo $file | tr 'a-z' 'A-Z'`; echo $VARMAXJM; done;

Merci de vos lumières.

A part faire un fichier avec les correspondances ancien/nouveau nom je ne vois pas :s

le probleme a la base est que Windows ne tient pas compte de la casse dans les noms de fichiers. Donc suivant comment le fichier a ete nommé a la creation, ca peut foutre plus ou moins la grouille.
Et quand tu passes sur de l’unix, forcement, ca peut coincer.

A part ca, comment copies tu les fichiers de windows vers unix ? Peut etre qu’il possede une option pour ne pas tenir compte de la casse ?
Faudrait en dire plus…

Sinon, l’idee du script est bonne et devrait marcher. Si ca coince, c’est que le script est buggé.

Avec Total Commander, en FTP, je n’ai jamais perdu la casse.

C’est peut être aussi un problème de paramétrage de SAMBA.
Tes fichiers ne sont pas sur un disque en FAT32 ?

Windows n’est peut être pas “case sensitive” (ce que je trouve très bien, perso), mais il est “case retentive”, c’est à dire qu’il se souvient de la casse et sais très bien la gérer (et remercie KP2 de s’en soucier).

Donc, avec quoi fait tu tes transferts ? Et dans quel sens ?
Edité le 09/11/2009 à 14:54

Pour la copie, rien de plus simple, un copier coller dans l’explorateur vers un montage Samba. :d

par exemple de c:\test vers w:\livraison\200911\

Le problème est plus compliqué que ça en fait, je prépare mes fichiers sur un serveur. J’ai regardé, mon répertoire de préparation est sur un disque dur de type NTFS.

En tout cas le problème a été résolu par un autre collègue qui avait un peu de temps à perdre (:D). Il est parti de la même base de script mais a réussi à le faire fonctionner. Je vous le donne pour info :

#!/bin/sh

DIR=$1

for a in `ls $DIR`
do
fname=`echo $a | tr a-z A-Z`
mv $DIR/$a $DIR/$fname
done;
exit 0

Il faut lui passer en paramètre le dossier qui contient les fichiers à renommer.

En tout cas, merci de votre implication. :wink:

A mon avis, ca pourrait se regler avec un peu de tuning de samba…