#1 Le 05/12/2021, à 16:46
- iznobe
script mettre en conformité les noms de fichiers partage samba
Bonjour , j' aimerais savoir si vous savez ou est ce que je pourrais trouver un script ou un petit logiciel , qui permet de renommer les fichiers en masse a la sauce windows ?
question subsidiare : toujours pas de remplacant pour PYrenamer en python-3 ?
Dernière modification par iznobe (Le 06/12/2021, à 20:06)
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#2 Le 05/12/2021, à 18:22
- erresse

Re : script mettre en conformité les noms de fichiers partage samba
Bonjour,
Il y a Inviska Rename pour remplacer PyRenamer qui ne fonctionne plus en python3...
Personnellement, j'ai opté pour la version en AppImage de Inviska, afin de ne pas être dépendant des versions du système *buntu et j'en suis satisfait, ça marche bien et ça offre pas mal de possibilité, à l'instar de PyRenamer.
À toi de voir, fais un test, si ça ne te convient pas, il suffit de supprimer le fichier appimage et c'est tout.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 05/12/2021, à 18:26
- iznobe
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour erresse et merci pour l' info .
je viens d' editer la page de doc pour inviska rename , qui n ' est plus mis a jour et qui n ' est plus " trouvable " meme en appimage .
je ne peux donc tester ![]()
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#4 Le 05/12/2021, à 18:31
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour
Cela veut-il dire que tu veux vérifier que:
- La longueur totale du nom y compris le répertoire ne dépasse pas 256 caractères
- Certains caractères interdits ne sont pas présents / \ : ? * < > " barre verticale.
- Il n'y a pas plusieurs espaces consécutifs dans les noms
Pour les deux derniers contrôles, J'ai fait un script correctif qui me semblait au point. Il est dans forum. Je vais le retrouver.
=> La version initiale https://forum.ubuntu-fr.org/viewtopic.php?id=2060108
Dernière modification par geole (Le 05/12/2021, à 18:52)
Hors ligne
#5 Le 05/12/2021, à 18:37
- iznobe
Re : script mettre en conformité les noms de fichiers partage samba
@geole , oui c ' est exactement ca , j' ai besoin de corriger les noms sur mon serveur samba , pour l' acces via windobe pour ma femme ...
c' est pas faute , depuis 15 ans , de tenter de la convertir , mais elle a la peau dure ![]()
PS : Pour la longueur du chemin ( 256 caracteres ) , ca n' est pas vraiment necessaire .
Dernière modification par iznobe (Le 05/12/2021, à 18:40)
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#6 Le 05/12/2021, à 18:45
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Prends quand même des précautions de tests avec un passage sans rectifier (a adapter)
shopt -s globstar
for i in **/*; do
#echo "|""$i""|"
#suppression des espaces à droite et à gauche mais pas au milieu
j=${i##*( )}
j=${j%%*( )}
# suppression des espaces qui suivent le caractère /
# Il y a certainement beaucoup mieux à faire qu'une boucle
for (( v=0; v <= 20; v++ )); do
j=$(echo "$j" | sed "s\/ \/\g")
done
# remplacement d'un maxima de caractères interdits par windows ><\:"|?*
j=$(echo "$j" | tr '><"|?*' '!!!!!!')
j=$(echo "$j" | tr ':' '%')
j=$(echo "$j" | tr '\\' '%')
#echo "|""$j""|"
if [[ $i != $j ]]; then
# Vérifier si un dossier existe
if [[ -d $j ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau répertoire"
else
if [[ -f $j ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau fichier"
else
echo "on va renommer ce fichier avec cette commande mv -n '$i' '$j' "
mv -n "$i" "$j"
sleep 1
fi
fi
fi
doneHors ligne
#7 Le 05/12/2021, à 19:03
- erresse

Re : script mettre en conformité les noms de fichiers partage samba
Pour l'appimage de Inviska, je l'ai trouvé sur AppImageHub.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#8 Le 05/12/2021, à 20:32
- Watael

Re : script mettre en conformité les noms de fichiers partage samba
Il y a certainement beaucoup mieux à faire qu'une boucle
mais surtout, pourquoi répéter la même opération 20 fois ?
et pourquoi ne pas continuer avec le Remplacement de paramètres plutôt que d'appeler tr ou sed ?
et pourquoi faire un sleep ?
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 05/12/2021, à 20:58
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Bonsoir.
Toute amélioration de ce que j'ai écrit est bienvenue.
J'ai mis 20 car j'ai pensé que 20 espaces consécutifs était un maxima: je n'ai pas trouvé pour dire "la totalité des espaces"
J'ai séparé la gestion des espaces mutiples des caractéres interdits pour me simplifier les tests ( Ce sont des commandes que j'ai trouvé de place en place dans des exemples du forum ).
Pour le sleep, 1 seconde me semble le minima pour avoir le temps de lire ce qui vient de se passer afin de pouvoir arrêter si cela déconne. En effet, à part mon jeu d'essai, il n'aurait peut-être été utilisé qu'une fois.
Il reste à ajouter au script la vérification que la taille totale ne dépasse pas 256? caractéres ou 327687 caractères si utilisé en windows 10 https://www.programmez.com/actualites/w … eres-24452
Mon avis: C'est absurde d'avoir un nom de fichier si long.
Ajout. J'ai totalement oublié de vérifier que le nom de fichier n'était pas interdit: CON, PRN, aux, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 et LPT9.
Dernière modification par geole (Le 05/12/2021, à 21:53)
Hors ligne
#10 Le 05/12/2021, à 21:06
- Watael

Re : script mettre en conformité les noms de fichiers partage samba
le g à la fin du sed effectue un remplacement global, c'est-à-dire qu'il remplacera tous les motifs cherchés.
Welcome to sHell. · eval is evil.
Hors ligne
#11 Le 06/12/2021, à 10:17
- iznobe
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour ,
@ erresse , merci , c ' est telechargé , reste plus qu 'a testé ![]()
@geole , merci pour le script , je vais tenter de regarder ca de plus pres .
@Watael , si tu te sens de reecrire le script pour l ' ameliorer , je suis pret a faire des tests .
je suis tout de meme relativement surpris qu ' il n ' existe pas deja quelquechose " de tout pret " , je veux dire dans les depots , ou bien un script specifique , qui a été longuement testé , samba existant de puis tres longtemps , tout ceux qui l' utilise sont forcement confronté a ce petit soucis un jour ou l' autre .
ayant beaucoup de fichiers et dossiers en partage , je me vois mal me faire le check de chaque dossier , pour y trouver les fichiers non conformes et les renommer a la main .
et n' etant pas un crack avec bash et les commandes sed etc ... je me vois mal creer moi-meme un tel script .
Dernière modification par iznobe (Le 06/12/2021, à 12:57)
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#12 Le 06/12/2021, à 15:35
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour
J'ai modifié le script.
1) Conditions d'utilisation
- Se positionner dans le répertoire à traiter par exemple $HOME ou /media/data/$USER
- Lancer le script ci-après par la technique copier/coller
2) Résultats espérés.
- Les espaces de début et de fin de nom des répertoires et fichiers sont supprimés
- Si plusieurs espaces à l'intérieur des noms, il en est conservé un seul qui est transformé en underscore (_). Je pense que c'est mieux, Mais c'est juste une ligne à supprimer si on souhaite c onserver l'espace..
- Les caractères interdits de microsoft sont remplacés par ! sauf : et \ qui sont remplacés par %
Cela se fait pour tous les niveaux alors que peut-être, seul le nom de fichier l'exige.
- Les noms interdits de microsoft sont complétés par le caractère p(_)
Cela se fait pour tous les niveaux alors que peut-être, seul le nom de fichier l'exige.
- La commande de renommage exécutée est affichée. Les erreurs ne sont pas traitées et sont affichées
- La taille des noms intermédiaires des répertoires est vérifiée, maxima 248 caractères. Idem pour le noms des fichiers (Mais cela devrait être 260 caractères
- La taille totale du chemin d'accès est vérifiée à la valeur 32767
- La durée d'exécution du script et le nombre de fichiers hors norme est affiché. La liste est consultable.
3) Exemple: Un chemin d'accès tel que
" REP 1 / Sous REP: / LPT1 / Fichier 23* " sera renommé en
"REP_1/Sous_REP%/LPT1_/Fichier_23!"
4) Résultat d'un passage
on va renommer ce répertoire/fichier avec cette commande mv -n ' FIC A ' FIC_A
on va renommer ce répertoire/fichier avec cette commande mv -n ' SOUS REP ' SOUS_REP
on va renommer ce répertoire/fichier avec cette commande mv -n ' SOUS REP / FIC A b ' SOUS_REP/FIC_A_b
on va renommer ce répertoire/fichier avec cette commande mv -n ' SOUS REP / SOUS REP B W' SOUS_REP/SOUS_REP_B_W
on va renommer ce répertoire/fichier avec cette commande mv -n ' SOUS REP / SOUS REP B W/ FIC A b q ' SOUS_REP/SOUS_REP_B_W/FIC_A_b_q
on va renommer ce répertoire/fichier avec cette commande mv -n ' SOUS REP / SOUS REP B W/ SOUS REP B W x q ' SOUS_REP/SOUS_REP_B_W/SOUS_REP_B_W_x_q
6 répertoires et fichiers traités en 1 secondes.Un autre passage vite interrompu, pour modifier le script en supprimant ces deux lignes
#remplacement des espaces restants
j=$(echo "$j" | sed "s# #_#g") car cela rectifait trop.
La fin du passage
......
on va renommer ce répertoire/fichier avec cette commande mv -n 'Rugby/Tournoi 2014 des 6 nations/Pays de Galles - Italie 1e Mi-temps.avi' Rugby/Tournoi 2014 des 6 nations/Pays de Galles - Italie 1e Mi-temps.avi
5774 répertoires et fichiers traités en 232 secondes.
a@a:/media/BigDisk$ 5) Plusieurs répertoires peuvent devenir un seul répertoire avec leurs fichiers regroupés si non semblables. Exemple
" Rep / fic1"
" Rep/fic1"
" Rep/ fic2"
devrait donner le résultat
"Rep/fic1"
"Rep/fic2"
" Rep/fic1"
6) Pour exécuter une simulation, il suffit de supprimer cette ligne.
mv "$l" "$k"7) Script
shopt -s globstar
###Liste des fichiers exclus
Exclus=(CON PRN aux NUL COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9)
Long=0; Nbrep=0; Debut=$(echo $(date +%s)); echo [url]https://www.pcastuces.com/pratique/astuces[/url] > /tmp/LongFic
echo $($(date)-$Debut)
for i in **/*; do
Nbrep=$(($Nbrep+1))
#isolons le nom de fichier
i2=$(echo "$i" | grep -o '[^/]*$' );
#suppression des espaces de début et de fin
j=$(echo $i) ;
#suppression de l'espace qui suit le caractère /
j=$(echo "$j" | sed "s#/ #/#g")
#suppression de l'espace qui précède le caractère /
j=$(echo "$j" | sed "s# /#/#g")
#remplacement des espaces restants
j=$(echo "$j" | sed "s# #_#g")
# remplacement d'un maxima de caractères interdits par windows ><\:"|?*
j=$(echo "$j" | tr '><"|?*' '!!!!!!')
j=$(echo "$j" | tr ':' '%')
j=$(echo "$j" | tr '\\' '%')
#Vérifions si le nom n'est pas interdit. Récupération du dernier argument
j2=$(echo "$j" | grep -o '[^/]*$' )
if [[ " ${Exclus[@]} " =~ $j2 ]]; then k="$j""_" ; else k="$j"; fi
#Vérifions si la longueur n'est pas excessive
if [[ ${#j2} -ge 248 ]]; then Long=$(($Long+1)); echo $j >>/tmp/LongFic ; fi
if [[ ${#j} -ge 32384 ]]; then Long=$(($Long+1)); echo $j >>/tmp/LongFic ; fi
if [[ $i != $j ]]; then
# Récupérons le nom du répertoire au cas où il aurait été corrigé.
j1=$(echo "$j" | rev | cut -d/ --complement -s -f1 | rev)
if [[ ${#j1} > 0 ]];then l="$j1/$i2"; else l="$i"; fi
if [[ -d $k ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau répertoire"
else
if [[ -f $k ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau fichier"
else
echo on va renommer ce répertoire/fichier avec cette commande mv -n "'$i'" "$k"
mv "$l" "$k"
fi
fi
fi
done
if [[ $Long > 0 ]]; then echo vous avez $Long répertoires de taille importante. Voir le détail dans /tmp/LongFic ; fi
echo $Nbrep répertoires et fichiers traités en $(($(date +%s)-$Debut)) secondes.Dernière modification par geole (Le 07/12/2021, à 23:11)
Hors ligne
#13 Le 06/12/2021, à 20:13
- iznobe
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour , je viens de faire un test du script suivant :
le contenu du repertoire avant execution :
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$ ls -l
total 4
-rw-r--r-- 1 iznobe iznobe 0 avril 29 2021 ' ><\:"|?* lurt.txt'
-rwxr--r-- 1 iznobe iznobe 2005 déc. 6 20:03 rename_windows_share.sh
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$la commande utilisée et son retour :
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$ shopt -s globstar
###Liste des fichiers exclus
Exclus=(CON PRN aux NUL COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9)
#Nombre de répertoires de taille trop importantes
Long=0
for i in **/*; do
#echo Début de traitement sur " |""$i""|"
# remplacement des espaces par un seul underscore
j=$(echo $i | sed 's/\s\+/_/g' )
#suppression du underscore qui suit le caractère /
j=$(echo "$j" | sed "s\/_\/\g")
#suppression du underscore qui précède le caractère /
j=$(echo "$j" | sed "s\_/\/\g")
# remplacement d'un maxima de caractères interdits par windows ><\:"|?*
j=$(echo "$j" | tr '><"|?*' '!!!!!!')
j=$(echo "$j" | tr ':' '%')
j=$(echo "$j" | tr '\\' '%')
#echo "|""$j""|"
#Vérifions si le nom n'est pas interdit. Récupération du dernier argument
k=$(echo $j | grep -o '[^/]*$' )
if [[ " ${Exclus[@]} " =~ $k ]]; then j=$j"_" ; fi
#Vérifions si la longueur n'est pas excessive
if [[ ${#j} -ge 260 ]]; then Long=$(($Long+1)) ; fi
if [[ $i != $j ]]; then
if [[ -d $j ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau répertoire"
else
if [[ -f $j ]]; then
echo " Il est impossible de changer le nom de ce fichier/dossier '$i' car présence de doublon au niveau fichier"
else
# vérifier si le répertoire/fichier existe
if [[ -e $i ]]; then
echo "on va renommer ce répertoire/fichier avec cette commande mv -n '$i' '$j' "
mv -n "$i" "$j"
fi
fi
fi
fi
if [[ $Long > 0 ]]; then echo vous avez $Long répertoires de taille importante voir https://www.pcastuces.com/pratique/astuces/4815.htm ; fi
on va renommer ce répertoire/fichier avec cette commande mv -n ' ><\:"|?* lurt.txt' '!!%%!!!!_lurt.txt'
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$le contenu du repertoire apres execution :
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$ ls -l
total 4
-rw-r--r-- 1 iznobe iznobe 0 avril 29 2021 '!!%%!!!!_lurt.txt'
-rwxr--r-- 1 iznobe iznobe 2005 déc. 6 20:03 rename_windows_share.sh
iznobe@iznobe-PC:/datas/iznobe/Scripts/test$ ca fonnctionne pour les caracteres interdits dans les noms de fichiers pour windows , je vais tester les autres trucs , longueur de chemin etc et vous tiendrais au courant .
Dernière modification par iznobe (Le 06/12/2021, à 20:19)
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#14 Le 06/12/2021, à 20:54
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Demain, je n'aurais pas beaucoup de temps. Mais je tenterais de livrer le double niveau car je viens de trouver comment faire. Il ne restera plus qu'à vérifier le nombre de sous-niveaux . Je ne sais plus si la limite est 10 ou 20 ou ?
Hors ligne
#15 Le 06/12/2021, à 23:26
- Coeur Noir

Re : script mettre en conformité les noms de fichiers partage samba
Doit bien y avoir moyen de demander à Samba de n'accepter que des noms de fichiers/dossiers compatibles Win ?
Je comprends bien que la demande initiale est un peu différente ( les fichiers existent déjà avec des noms non conformes, d'où besoin de les renommer pour partage ultérieur via samba )
mais une fois cela fait on doit pouvoir « forcer » un nommage adapté ?
Des choses comme https://serverfault.com/a/72041 et le name mangling évoqué vers la fin du message.
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#16 Le 07/12/2021, à 08:03
- serged

Re : script mettre en conformité les noms de fichiers partage samba
Il ne faut pas oublier non plus que Windows, contrairement à Linux n'est pas sensible à la casse.
Donc il faut éviter les conflits entre "toto" et "TOTO", dans le même répertoire.
Linux-Mint 20.2 Uma (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU et diverses machines en 19.3 ou 20.x
Hors ligne
#17 Le 07/12/2021, à 11:11
- iznobe
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour , ben decidement , ca m' a l' air tout de meme relativement complexe cette histoire .
@coeur noir , j ' ai regardé le lien et la doc de samba pour le " name mangling " , il me semble que c' est deja ce qui est fait par defaut , j' ai justement ce type de nom qui apparait quand les noms de fichiers ne sont pas conforme au nommage windows , sauf que , les premiers caracteres ne correspondent pas au premiers caracteres du nom de fichier en question , le resultat parait plutot completement aleatoire .
De plus ca n' a pas l' air des plus simples de comprendre ce que ca fait exactement , et parait complexe a regler ...
il doit y avoir un genre de hash ou je ne sais trop quoi ... enfin bref , c ' est justement pour ca que je voudais renommer correctement mes fichiers , c ' est tres difficile de retrouver le fichier en question coté serveur , la seule façon , a peu pres " potable " que j' ai trouvé , c ' est de noté le chemin et la taille du fichier fautif , puis de me rendre sur le serveur au meme emplacement et d ' afficher la liste par taille , puis de trouver le nom de fichier incriminé .
souvent il s ' agit d ' un caractere interdit , mais pas toujours , et alors là ca devient complexe , mais surtout c ' est tres tres long ...
j ' ai des repertoires avec 6000 fichiers photos a peu pres de meme taille et des centaines de sous repertoires ...
voici la doc traduite en francais :
5.4.2 Options de masquage
Samba vous permet de lui donner des instructions plus précises sur la façon dont il doit effectuer la manipulation des noms, y compris celles qui contrôlent la sensibilité à la casse, le caractère inséré pour former un nom manipulé, et la possibilité de faire correspondre manuellement les noms de fichiers d'un format à un autre. Ces options sont présentées dans le Tableau 5.7.
Tableau 5.7 : Options de traitement des noms
Option
Paramètres
Fonction
Valeur par défaut
Portée
sensible à la casse
(casignames)
booléen
Si oui, Samba traitera les noms de fichiers en respectant la casse (Windows ne le fait pas).
non
Partager
casse par défaut
( supérieure ou inférieure )
Cas à prendre en compte par défaut (uniquement utilisé lorsque la case à conserver est non).
Minuscule
Partager
préserver la casse
booléen
Si oui, conserver la casse fournie par le client (c'est-à-dire ne pas convertir en casse par défaut).
oui
Partager
court préserver la casse
booléen
Si oui, conserve la casse des noms au format 8.3 fournis par le client.
oui
Partager
gommer la casse
booléen
Mêler un nom s'il est en casse mixte.
non
Partager
noms mélangés
booléen
Convertit les noms longs au format DOS 8.3.
oui
Partager
Caractères reconstitués
chaîne de caractères (caractère unique)
Donne le caractère de masquage.
~
Partager
pile mangled
numérique
Nombre de noms altérés à conserver dans la pile d'altération locale.
50
Global
carte des manuscrits
chaîne (liste de motifs)
Permet le mappage des noms de fichiers d'un format à un autre.
Aucun
Partager
5.4.2.1 sensible à la casseCette option de niveau partage, qui a le synonyme obtus casignames, spécifie si Samba doit préserver la casse lors de la résolution des noms de fichiers dans un partage spécifique. La valeur par défaut de cette option est non, ce qui correspond à la façon dont Windows gère la résolution des fichiers. Si les clients utilisent un système d'exploitation qui tire parti des noms de fichiers sensibles à la casse, vous pouvez définir cette option de configuration sur yes comme indiqué ici :
[comptabilité]
sensible à la casse = ouiSinon, nous vous recommandons de laisser cette option sur sa valeur par défaut.
5.4.2.2 casse par défautL'option default case est utilisée avec preserve case. Elle spécifie la casse par défaut (supérieure ou inférieure) que Samba utilisera lorsqu'il créera un fichier sur l'un de ses partages pour le compte d'un client. La casse par défaut est inférieure, ce qui signifie que les fichiers nouvellement créés utiliseront les noms en majuscules mixtes qui leur ont été donnés par le client. Si vous en avez besoin, vous pouvez remplacer cette option globale en spécifiant ce qui suit :
[global]
default case = upperSi vous spécifiez cette valeur, les noms des fichiers nouvellement créés seront traduits en majuscules, et ne peuvent pas être remplacés dans un programme. Nous vous recommandons d'utiliser la valeur par défaut, sauf si vous avez affaire à un client Windows for Workgroups ou à un autre client 8.3, auquel cas la valeur doit être upper.
5.4.2.3 préserver la casseCette option spécifie si un fichier créé par Samba au nom du client est créé avec la casse fournie par le système d'exploitation du client, ou la casse spécifiée par l'option de configuration de casse par défaut ci-dessus. La valeur par défaut est yes, qui utilise le cas fourni par le système d'exploitation du client. Si elle est définie sur no, la valeur de l'option de cas par défaut est utilisée.
Notez que cette option ne gère pas les demandes de fichiers 8.3 envoyées par le client - voir l'option de cas de préservation courte ci-dessous. Vous voudrez peut-être définir cette option sur oui si les applications qui créent des fichiers sur le serveur Samba sont sensibles à la casse utilisée lors de la création du fichier. Si vous voulez forcer Samba, par exemple, à imiter le comportement d'un système de fichiers Windows NT, vous pouvez laisser cette option à sa valeur par défaut, yes.
5.4.2.4 Préservation de la casse courteCette option spécifie si un nom de fichier 8.3 créé par Samba pour le compte du client est créé avec la casse par défaut du système d'exploitation du client, ou la casse spécifiée par l'option de configuration de la casse par défaut. La valeur par défaut est yes, qui utilise la casse fournie par le système d'exploitation du client. Vous pouvez laisser Samba choisir le cas par le biais de l'option de cas par défaut en la définissant comme suit :
[global]
short preserve case = noSi vous voulez forcer Samba à imiter le comportement d'un système de fichiers Windows NT, vous pouvez laisser cette option à sa valeur par défaut, yes.
5.4.2.5 noms altérésCette option de niveau partage spécifie si Samba maniera les noms de fichiers pour les clients 8.3 dans ce partage. Si l'option est définie sur no, Samba ne tronquera pas les noms et (selon le client), ils seront invisibles ou apparaîtront tronqués pour ceux qui utilisent des systèmes d'exploitation 8.3. La valeur par défaut est yes. Vous pouvez la remplacer par un partage comme suit :
[data]
mangled names = no5.4.2.6. mangle case (casse)
Cette option indique à Samba s'il doit supprimer les noms de fichiers qui ne sont pas entièrement composés de la casse spécifiée à l'aide de l'option de configuration de la casse par défaut. La valeur par défaut de cette option est non. Si vous la définissez à yes, vous devez être sûr que tous les clients seront en mesure de gérer les noms de fichiers tronqués qui en résultent. Vous pouvez la remplacer par une action comme suit :
[data]
mangle case = yesNous vous recommandons de ne pas toucher à cette option, sauf si vous avez un besoin justifié de la modifier.
5.4.2.7 mangle charCette option au niveau du partage spécifie l'option
Traduit avec www.DeepL.com/Translator (version gratuite)
Dernière modification par iznobe (Le 07/12/2021, à 11:19)
retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM . avec Ubuntu , LM et W$10
Hors ligne
#18 Le 07/12/2021, à 18:55
- geole
Re : script mettre en conformité les noms de fichiers partage samba
Bonjour
Je viens de livrer une nouvelle version Voir échange N° 12 https://forum.ubuntu-fr.org/viewtopic.p … #p22512800
Il faut encore enquêter pour savoir si le nombre de sous-répertoires est limité à une valeur
Dernière modification par geole (Le 07/12/2021, à 18:55)
Hors ligne