Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

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


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 tongue

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  
 done

Hors 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é wink
@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ébuterDocBien rédigerRetour commandeInsé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 :

doc samba " name mangling " a écrit :

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 casse

Cette 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 = oui

Sinon, nous vous recommandons de laisser cette option sur sa valeur par défaut.
5.4.2.2 casse par défaut

L'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 = upper

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

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

Cette 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 = no

Si 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és

Cette 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 = no

5.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 = yes

Nous vous recommandons de ne pas toucher à cette option, sauf si vous avez un besoin justifié de la modifier.
5.4.2.7 mangle char

Cette 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