Contenu | Rechercher | Menus

Annonce

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.

#101 Le 08/08/2012, à 02:50

wild dagger

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Bonjour,

je n'ai qu'un mot à dire : Merci !!! wink

Je n'ai pas trop osé poster les modifications que j'ai apporté dans le script de Hizoka v0.04 pour le faire fonctionner sous une autre distribution de linux mais pour faire simple une image :

http://s11.postimage.org/mp5gg5zj7/conmvm_sh.png

Bref, si vous utilisez WinSCP en S-FTP ne faites pas comme moi de lui faire confiance dans l'encodage automatique des noms de fichiers en UTF-8.

edit modo : image trop grande, merci d'utiliser des miniatures

Dernière modification par nesthib (Le 08/08/2012, à 06:41)

Hors ligne

#102 Le 08/08/2012, à 16:47

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

ravi que mon code puisse toujours servir smile

Poste ta modif, en precisant dans quel cas l'utiliser.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#103 Le 08/08/2012, à 21:39

wild dagger

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Et bien, il n'y a rien d'extraordinaire dans mes modifications ; j'ajoute simplement la possibilité d'appeler le script comme un programme traditionnel en prenant en charge éventuellement le chemin d'un dossier différent. J'ai donc adapté ton script pour mes besoins sur un serveur tournant en ArchLinux.

Version UBUNTU

#!/bin/bash

### Variables ###

VERSION="v0.05.$(uname -n)"

# Couleurs du texte affiché dans le shell
FUSHIA="\033[1;35m"
NOIR="\033[1;0m"
BLEU="\033[1;34m"
VERT="\033[1;32m"
ROUGE="\033[1;31m"

# Liste des encodages les plus courants
CODES_LIST="iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-9 iso-8859-10 iso-8859-11 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 cp437 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp932 cp936 cp949 cp950 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 iso-8859-1" 

### Introduction ###

echo -e "
----------------------------------------------------------
 ${BLEU}Ce script permet de lancer en boucle l'utilitaire convmv qui 
 permet de convertir les noms de fichiers codés en autre chose 
 que UTF-8 vers UTF-8. Relancer le script avec l'argument
 ALLCODES si jamais aucun résultat n'a été trouvé.
 
 Ex: 
 sh convmv-to-utf-8.sh /opt/ ALLCODES
 
 ${FUSHIA}V${NOIR}ersion ${VERSION}${NOIR}
----------------------------------------------------------"

# Détermination du répertoire à analyser

if [[ "${1}" == "" ]]
	then
	 	# On détermine le répertoire courant
	 	echo -e " ${ROUGE}V${NOIR}ous êtes sur le point d'analyser ce répertoire : \n -->${ROUGE} $(pwd)${NOIR}"
	else
		# On contrôle si le répertoire demandé existe
		if [ -d ${1} ]
		 	then
					# On se place dans le répertoire		 			
		 			cd ${1}
					echo -e " ${ROUGE}V${NOIR}ous êtes sur le point d'analyser ce répertoire : \n -->${ROUGE} $(pwd)${NOIR}"
			else
					# Le répertoire n'existe pas, on arrête le script
					echo -e " ${ROUGE}L${NOIR}e répertoire que vous avez demandé à analyser n'existe pas."
					exit
		fi
fi

# Vérification de l'existence de convmv
if [[ -z $(dpkg -l | egrep "^ii  convmv") ]]
	then
		# Propose l'installation direct du logiciel
		echo -e " ${ROUGE}L${NOIR}e logiciel convmv n'est pas installé et il est nécessaire au bon fonctionnement de ce script, voulez-vous l'installer ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on"
	   read -p " --> " confirmation_installation
      # Vérifier le choix de l'installation du logiciel
		if [[ ${confirmation_installation} == [OoYy]* ]]
    		then
    				sudo apt-get -y --force-yes install convmv
        			echo "----------------------------------------------------------"
		   else
		   		echo -e " ${ROUGE}V${NOIR}ous n'avez pas souhaité d'installer automatiquement 'convmv'. Ce logiciel est nécessaire au bon fonctionnement du script."
					exit
    	fi
fi

# Pour boucler sur tous les codepages supportés par convmv, il faut mettre ALLCODES en argument
if [[ "${2}" = "ALLCODES" ]]
	then
    	# Affecte tous les codages connus de convmv à la variable CODES_LIST
    	CODES_LIST=$(convmv --list | tr '\n' ' ')
    	echo -e "(${ROUGE}L${NOIR}a liste complète des encodages disponibles dans convmv va être utilisée) : \n -->${ROUGE} ${CODES_LIST}"
	else
		echo -e "(${ROUGE}L${NOIR}a liste simplifiée des encodages disponibles va être utilisée) : \n -->${ROUGE} ${CODES_LIST}"
fi


# Demande de l'utilisation d'une analyse récursive
echo -e "
 ${ROUGE}V${NOIR}oulez-vous aussi analyser les sous-répertoires ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on [${ROUGE}A${NOIR}]rrêter :"
read -p " --> " RECURSIVITE

if [[ ${RECURSIVITE} == [Aa]* ]]
	then
   	 echo -e "\n ${ROUGE}A${NOIR}rrêt demandé.${NOIR}"
   	 exit

	elif [[ ${RECURSIVITE} == [Oo]* ]]
	then
	 echo -e " \n -->${ROUGE} Les sous-répertoires seront analysés."
    OPTION_R="-r"
fi



### Boucle principale ###

for CODAGE in ${CODES_LIST}
do
    echo -e "\n${BLEU}Hypothèse du codage : ${FUSHIA}${CODAGE}${NOIR}"

    # Recherche des fichiers n’étant pas en UTF-8
    LISTE_FICHIER=$(convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * 2>&1 | egrep "^mv ")

    # Vérifie qu'il y ait bien des fichiers à renommer
    if [[ -z ${LISTE_FICHIER} ]]
    then
        echo -e "\n${ROUGE}Aucune erreur detectée dans les caractères utilisés dans le nom des fichiers.${NOIR}\n"
        exit

    else
        # Nombre de fichier à renommer
        NOMBRE_FICHIERS=$(echo "${LISTE_FICHIER}" | wc -l)
        echo -e "\n${FUSHIA}${NOMBRE_FICHIERS}${NOIR} fichiers à convertir."
    fi

    for ((i=1; i<=${NOMBRE_FICHIERS}; i++))
    do
        LIGNE=$(sed -n ${i}p <<< "${LISTE_FICHIER}")

        # Récupération du nom corrompu
        ANCIEN_NOM=$(cut -f2 -d '"' <<< "${LIGNE}")

        # Récupération du nom corrigé
        NOUVEAU_NOM=$(cut -f4 -d '"' <<< "${LIGNE}")

        echo -n -e "\n${VERT}Conversion de ${NOIR}"

        for (( x=0 ; x <= ${#ANCIEN_NOM} ; x++ ))
        do
            LETTRE_ORIGINALE=${ANCIEN_NOM:${x}:1}
            LETTRE_CORRIGEE=${NOUVEAU_NOM:${x}:1}

            # Comparaison des caractères entre eux
            if [[ "${LETTRE_ORIGINALE}" == "${LETTRE_CORRIGEE}" ]]
            then
                echo -n -e "${LETTRE_ORIGINALE}"
            else
                echo -n -e "${BLEU}${LETTRE_ORIGINALE}${NOIR}"
            fi
        done

        echo -n -e "${VERT} en ${NOIR}"

        for (( x=0 ; x <= ${#ANCIEN_NOM} ; x++ ))
        do
            LETTRE_ORIGINALE=${ANCIEN_NOM:${x}:1}
            LETTRE_CORRIGEE=${NOUVEAU_NOM:${x}:1}

            # Comparaison des caractères entre eux
            if [[ "${LETTRE_ORIGINALE}" == "${LETTRE_CORRIGEE}" ]]
            then
                echo -n -e "${LETTRE_CORRIGEE}"
            else
                echo -n -e "${FUSHIA}${LETTRE_CORRIGEE}${NOIR}"
            fi
        done

    done

    # Demande de confirmation du codage à utiliser
    echo -e "\n${FUSHIA}${NOMBRE_FICHIERS}${NOIR} fichiers à convertir."


echo -e "
 ${ROUGE}C${NOIR}e codage est-il le bon ? ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on [${ROUGE}A${NOIR}]rrêter :"
read -p " --> " BON_CODAGE

    if [[ ${BON_CODAGE} == [Aa]* ]]
    then
        echo -e "\n${ROUGE}Arrêt du script.${NOIR}\n"
        exit

    elif [[ ${BON_CODAGE} == [OoYy]* ]]
    then
        convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * --notest &>/dev/null

        # Vérification de l’absence de fichier corrompu
        if [[ -z $(convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * 2>&1 | egrep "^mv ") ]]
        then
            echo -e "\n${BLEU}Tous les fichiers ont été renommés.${NOIR}\n"
            exit

        else
            echo -e "\n${ROUGE}Tous les fichiers n'ont pas été renommés.${NOIR}\n"
            exit
        fi
    fi
  
    # Mise au propre du terminal
    clear
done

Version ArchLinux

#!/bin/bash

### Variables ###

VERSION="v0.05.$(uname -n)"

# Couleurs du texte affiché dans le shell
FUSHIA="\033[1;35m"
NOIR="\033[1;0m"
BLEU="\033[1;34m"
VERT="\033[1;32m"
ROUGE="\033[1;31m"

# Liste des encodages les plus courants
CODES_LIST="iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-9 iso-8859-10 iso-8859-11 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 cp437 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp932 cp936 cp949 cp950 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 iso-8859-1" 

### Introduction ###

echo -e "
----------------------------------------------------------
 ${BLEU}Ce script permet de lancer en boucle l'utilitaire convmv qui 
 permet de convertir les noms de fichiers codés en autre chose 
 que UTF-8 vers UTF-8. Relancer le script avec l'argument
 ALLCODES si jamais aucun résultat n'a été trouvé.
 
 Ex: 
 sh convmv-to-utf-8.sh /opt/ ALLCODES
 
 ${FUSHIA}V${NOIR}ersion ${VERSION}${NOIR}
----------------------------------------------------------"

# Détermination du répertoire à analyser

if [[ "${1}" == "" ]]
	then
	 	# On détermine le répertoire courant
	 	echo -e " ${ROUGE}V${NOIR}ous êtes sur le point d'analyser ce répertoire : \n -->${ROUGE} $(pwd)${NOIR}"
	else
		# On contrôle si le répertoire demandé existe
		if [ -d ${1} ]
		 	then
					# On se place dans le répertoire		 			
		 			cd ${1}
					echo -e " ${ROUGE}V${NOIR}ous êtes sur le point d'analyser ce répertoire : \n -->${ROUGE} $(pwd)${NOIR}"
			else
					# Le répertoire n'existe pas, on arrête le script
					echo -e " ${ROUGE}L${NOIR}e répertoire que vous avez demandé à analyser n'existe pas."
					exit
		fi
fi

# Vérification de l'existence de convmv
if [[ -z $(pacman -Qs convmv | egrep "convmv") ]]
	then
		# Propose l'installation direct du logiciel
		echo -e " ${ROUGE}L${NOIR}e logiciel convmv n'est pas installé et il est nécessaire au bon fonctionnement de ce script, voulez-vous l'installer ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on"
	   read -p " --> " confirmation_installation
      # Vérifier le choix de l'installation du logiciel
		if [[ ${confirmation_installation} == [OoYy]* ]]
    		then
    				pacman -S --noconfirm convmv
        			echo "----------------------------------------------------------"
		   else
		   		echo -e " ${ROUGE}V${NOIR}ous n'avez pas souhaité d'installer automatiquement 'convmv'. Ce logiciel est nécessaire au bon fonctionnement du script."
					exit
    	fi
fi

# Pour boucler sur tous les codepages supportés par convmv, il faut mettre ALLCODES en argument
if [[ "${2}" = "ALLCODES" ]]
	then
    	# Affecte tous les codages connus de convmv à la variable CODES_LIST
    	CODES_LIST=$(convmv --list | tr '\n' ' ')
    	echo -e "(${ROUGE}L${NOIR}a liste complète des encodages disponibles dans convmv va être utilisée) : \n -->${ROUGE} ${CODES_LIST}"
	else
		echo -e "(${ROUGE}L${NOIR}a liste simplifiée des encodages disponibles va être utilisée) : \n -->${ROUGE} ${CODES_LIST}"
fi


# Demande de l'utilisation d'une analyse récursive
echo -e "
 ${ROUGE}V${NOIR}oulez-vous aussi analyser les sous-répertoires ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on [${ROUGE}A${NOIR}]rrêter :"
read -p " --> " RECURSIVITE

if [[ ${RECURSIVITE} == [Aa]* ]]
	then
   	 echo -e "\n ${ROUGE}A${NOIR}rrêt demandé.${NOIR}"
   	 exit

	elif [[ ${RECURSIVITE} == [Oo]* ]]
	then
	 echo -e " \n -->${ROUGE} Les sous-répertoires seront analysés."
    OPTION_R="-r"
fi



### Boucle principale ###

for CODAGE in ${CODES_LIST}
do
    echo -e "\n${BLEU}Hypothèse du codage : ${FUSHIA}${CODAGE}${NOIR}"

    # Recherche des fichiers n’étant pas en UTF-8
    LISTE_FICHIER=$(convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * 2>&1 | egrep "^mv ")

    # Vérifie qu'il y ait bien des fichiers à renommer
    if [[ -z ${LISTE_FICHIER} ]]
    then
        echo -e "\n${ROUGE}Aucune erreur detectée dans les caractères utilisés dans le nom des fichiers.${NOIR}\n"
        exit

    else
        # Nombre de fichier à renommer
        NOMBRE_FICHIERS=$(echo "${LISTE_FICHIER}" | wc -l)
        echo -e "\n${FUSHIA}${NOMBRE_FICHIERS}${NOIR} fichiers à convertir."
    fi

    for ((i=1; i<=${NOMBRE_FICHIERS}; i++))
    do
        LIGNE=$(sed -n ${i}p <<< "${LISTE_FICHIER}")

        # Récupération du nom corrompu
        ANCIEN_NOM=$(cut -f2 -d '"' <<< "${LIGNE}")

        # Récupération du nom corrigé
        NOUVEAU_NOM=$(cut -f4 -d '"' <<< "${LIGNE}")

        echo -n -e "\n${VERT}Conversion de ${NOIR}"

        for (( x=0 ; x <= ${#ANCIEN_NOM} ; x++ ))
        do
            LETTRE_ORIGINALE=${ANCIEN_NOM:${x}:1}
            LETTRE_CORRIGEE=${NOUVEAU_NOM:${x}:1}

            # Comparaison des caractères entre eux
            if [[ "${LETTRE_ORIGINALE}" == "${LETTRE_CORRIGEE}" ]]
            then
                echo -n -e "${LETTRE_ORIGINALE}"
            else
                echo -n -e "${BLEU}${LETTRE_ORIGINALE}${NOIR}"
            fi
        done

        echo -n -e "${VERT} en ${NOIR}"

        for (( x=0 ; x <= ${#ANCIEN_NOM} ; x++ ))
        do
            LETTRE_ORIGINALE=${ANCIEN_NOM:${x}:1}
            LETTRE_CORRIGEE=${NOUVEAU_NOM:${x}:1}

            # Comparaison des caractères entre eux
            if [[ "${LETTRE_ORIGINALE}" == "${LETTRE_CORRIGEE}" ]]
            then
                echo -n -e "${LETTRE_CORRIGEE}"
            else
                echo -n -e "${FUSHIA}${LETTRE_CORRIGEE}${NOIR}"
            fi
        done

    done

    # Demande de confirmation du codage à utiliser
    echo -e "\n${FUSHIA}${NOMBRE_FICHIERS}${NOIR} fichiers à convertir."


echo -e "
 ${ROUGE}C${NOIR}e codage est-il le bon ? ? [${ROUGE}O${NOIR}]ui [${ROUGE}N${NOIR}]on [${ROUGE}A${NOIR}]rrêter :"
read -p " --> " BON_CODAGE

    if [[ ${BON_CODAGE} == [Aa]* ]]
    then
        echo -e "\n${ROUGE}Arrêt du script.${NOIR}\n"
        exit

    elif [[ ${BON_CODAGE} == [OoYy]* ]]
    then
        convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * --notest &>/dev/null

        # Vérification de l’absence de fichier corrompu
        if [[ -z $(convmv -f ${CODAGE} -t utf-8 ${OPTION_R} * 2>&1 | egrep "^mv ") ]]
        then
            echo -e "\n${BLEU}Tous les fichiers ont été renommés.${NOIR}\n"
            exit

        else
            echo -e "\n${ROUGE}Tous les fichiers n'ont pas été renommés.${NOIR}\n"
            exit
        fi
    fi
  
    # Mise au propre du terminal
    clear
done

Après avoir découvert la superbe commande shell : printenv
je me suis aperçu que l'on pouvait appeler le script comme un simple programme à partir du moment où il est placé dans l'un des répertoires indiqués dans le PATH= (indiqué par la commande printenv) et fait le chmod u+x qui va bien.

Exemples d'utilisation en mode console (dans le cas où le script est enregistré dans un fichier portant le nom conv-utf8.sh) :

(Analyse du répertoire courant)

conv-utf8.sh

(Analyse du répertoire /opt/ en utilisant la liste simplifiée)

conv-utf8.sh /opt/

(Analyse du répertoire /opt/ en utilisant la liste complète)

conv-utf8.sh /opt/ ALLCODES

Par contre, j'avoue ne pas trop savoir dans quel répertoire enregistrer le script au final :

...
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl
...

Une idée ?

Hors ligne

#104 Le 09/08/2012, à 16:15

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

printenv, je connaissais pas mais c'est la même chose que env dans le retour.

Il vaut mieux enregistrer les scripts perso dans ~/bin (ajout automatique si le dossier existe) ou /usr/local/bin (je prefere perso)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#105 Le 21/02/2013, à 14:36

febcrash

Re : [Script] pour renommer les fichiers avec problèmes d'accents

TOP ! C'est ce que je cherchais depuis un moment wink


Ubuntero depuis Edgy Eft
Membre des équipes de traduction « Launchpad French Translators » (lp-l10n-fr) et « Ubuntu French Translators » (ubuntu-l10n-fr)
--
Vous aussi, aidez-nous à traduire Ubuntu (doc, applis, descriptions d'applis, pages web) en français  >> http://doc.ubuntu-fr.org/ubuntu-l10n-fr

Hors ligne

#106 Le 21/02/2013, à 18:05

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

sympa que ca serve encore autant smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#107 Le 22/02/2013, à 08:25

febcrash

Re : [Script] pour renommer les fichiers avec problèmes d'accents

moué, bizarre que file-roller ne le fasse pas de lui même !
Je l'ai utilisé sur après une extraction d'archive rar


Ubuntero depuis Edgy Eft
Membre des équipes de traduction « Launchpad French Translators » (lp-l10n-fr) et « Ubuntu French Translators » (ubuntu-l10n-fr)
--
Vous aussi, aidez-nous à traduire Ubuntu (doc, applis, descriptions d'applis, pages web) en français  >> http://doc.ubuntu-fr.org/ubuntu-l10n-fr

Hors ligne

#108 Le 16/05/2013, à 16:30

soujaa

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Mille merci ce script est toujours impecable.

Hors ligne

#109 Le 16/05/2013, à 16:37

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

oui oui, je l'ai encore utilisé il n'y a pas longtemps smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#110 Le 06/07/2013, à 11:33

gonzolero

Re : [Script] pour renommer les fichiers avec problèmes d'accents

A mon tour d'adresser un grand merci à Lapogne71 et à Hizoka pour ce script. En choisissant "récursif" (r), ça a marché du feu de Dieu smile

Dernière modification par gonzolero (Le 06/07/2013, à 11:35)

Hors ligne

#111 Le 25/08/2013, à 23:20

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

tiens y a un soucis avec le fichier test B, il ne contient que des icones sans soucis de noms...

et le fichier A me donne des noms de fichiers russes mais plus de probleme de codage vraiment...

je voulais faire un test d'une nouvelle présentation.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#112 Le 15/02/2016, à 12:34

fredmir

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Bonjour,
Après avoir "aspiré" mon site, je remarque que dans les fichiers tous les accents aigus sont en erreur d'encodage.
Le script fonctionne-t-il toujours, sur 14.04 ? Quelle est finalement la meilleure façon de faire SVP ?

Merci à vous,


Clevo I7 i7-8750H HD630 ( Intel® UHD Graphics 630 )
Disque dur 500Go 5400tr/min SATA-3 6Gb/s 2½ 7MM
Disque dur ultra rapide 120Go SSD M.2 (mémoire Flash)
Mémoire DDR4 Sodimm 16Go / Ubuntu 22.04.5 LTS

Hors ligne

#113 Le 15/02/2016, à 19:03

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

bah normalement c'est fonctionnel.

a toi de copier tes fichiers pour faire un test sur quelques fichiers seulement mais normalement aucun probleme.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#114 Le 20/04/2016, à 03:03

gasss97

Re : [Script] pour renommer les fichiers avec problèmes d'accents

bonjour,
je souhaite dire un grand MERCI aux créateurs du script ainsi qu'aux contributeurs, je suis en train de faire une sauvegarde avant réinstallation d'un vieux poste en dual boot ubuntu/windows XP, contenant donc plusieurs partitions :
- partition system windows
- partition system ubuntu
- partition utilisateurs ubuntu
- partition d’échange entre les deux systems

que j’ai toutes réunies (sauf la system ubuntu puisque largement obsolète et inutile à sauvegarder pour moi) dans un dossier de recup dans une partition en ext4, avant de tout renvoyer sur une partition NTFS externe pour faire le tri par suite.
le tout représente 45 gigas pour presque 100 000 fichiers et dossiers.

1ere étape, réunion sur la partition ext4, =====>  pas de soucis de copie
2eme étape, ça se corse, je m’aperçois d'un nombre conséquent de fichiers aux caractères illégaux, je laisse imaginer la panique à l'idée de rechercher et renommer à la main, à vue de nez 2 ou 3 gigas de fichiers éparpillés dans dossier de recup

Après quelques conseils et scripts vus ici et là, je tombe sur ce poste "salvateur" :
donc là, je prend le script, je le copie à la racine du dossier de récup, je le lance, et en moins de 2 minutes il termine l'analyse et en à peine autant termine en mode récursif ce qui m'aurai fait passer une mauvaise nuit blanche d'une des tâches les plus rébarbative que je connaisse.

donc je réitère mon grand MERCI, je nimaginais que pas la copie prendrai plus de temps que le renommage de tous mes fichiers aux caractères illégaux.

après avoir suivi le topic depuis le début, j'avais peur de devoir le déterrer, mais non, on m'a devancer, et je confirme, il fonctionne nickel.

bonne soirée à tous

Hors ligne

#115 Le 20/04/2016, à 07:28

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Hé hé hé, c'est cool que ça vous serve autant smile

ca vallait le coup qu'on s'amuse à les faire.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#116 Le 07/01/2018, à 11:32

bismuth

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Bonjour,
j'ai beau essayer d'utiliser vos scripts, rien n'y fait, il ne détecte aucun fichier à convertir alors que j'ai en plus de 600.

loic@loic-X555LAB:~/Bureau/destination$ bash convmv-for-utf-8-hizoka_0.04.sh

----------------------------------------------------------
 Ce script permet de lancer en boucle l'utilitaire convmv qui 
 permet de convertir les noms de fichiers codés en autre chose 
 que UTF-8 vers UTF-8. Relancer le script avec l'argument
 ALLCODES si jamais aucun résultat n'a été trouvé.
 
 Version v0.04
----------------------------------------------------------

Voulez-vous agir de façon recursive (modification des sous dossiers) ? [O]ui [N]on [E]xit : o

Hypothèse du codage : iso-8859-1

Aucun nom de fichier à convertir.

pourtant, ce n'est pas le nombre de fichier à convertir qui manque :-(
https://www.dropbox.com/s/tpng3mxf2pi2m … 7.png?dl=0

une idée ?

Hors ligne

#117 Le 07/01/2018, à 12:23

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

salut, il ne faut pas utiliser ALLCODES en argument ?
pour tester toutes les hypothèses du codage ?
ça fait longtemps que j'ai fait ce truc....


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#118 Le 22/04/2022, à 09:54

Yvance77

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Fonctionne toujours en 2022 et je suis sous Arch pour information.

Merci en grand


A trop vouloir faire de l'économie un idéal, nous faisons l'économie de l'Idéal !
Manjaro 20.01 - Mate 64 bits
CM : MSI B550 Tomahawk -- Proc : Ryzen 3600 6 coeurs -- CG : ATI Radeon RX550 -- RAM : Kingstone DDR4

Hors ligne

#119 Le 22/04/2022, à 11:12

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Salut,

merci pour le retour.

Il m'arrive encore parfois de l'utiliser aussi smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#120 Le 19/02/2023, à 19:40

sputnick

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Yop, traduit en Anglais avec ChatGPT. Le script fonctionne bien. Du coup, j'ai pu répondre sur serverfault.com à cette question: https://serverfault.com/questions/11232 … 88#1123288

Ça serait peut-être bien de le garder en Anglais?


Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver.
https://sputnick.fr

Hors ligne

#121 Le 08/01/2024, à 21:23

Lapogne71

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Salut tout le monde ....

Après de nombreuses années, je reviens sur mon script original et propose une nouvelle version v0.05 prenant en compte les différences d'affichage de convmv entre 2010 et 2024 smile
En effet même si la v0.04 détectait un certain nombre de fichiers à convertir, rien n'était affiché en retour.
J'espère que je n'ai pas tout cassé coté utilisation sur Ubuntu, car je suis sur Manjaro depuis 2015 ....  Je sais .. Sacrilège !! smile
N'hésitez pas à me dire si la v0.05 est OK pour vous sur Ubuntu. Merci.
Dernière chose, les fichiers test A et B ci-dessous ne semblent plus être détectés comme à convertir chez moi.... sad si quelqu'un à un bon exemple ?...

Hors ligne

#122 Le 08/01/2024, à 21:42

Hizoka

Re : [Script] pour renommer les fichiers avec problèmes d'accents

Salut, en effet, les fichiers ne semblent pas avoir d'erreur d'encodage dans les zip de test.

N'est-ce pas corrigé par défaut ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#123 Le 09/01/2024, à 15:42

Lapogne71

Re : [Script] pour renommer les fichiers avec problèmes d'accents

sputnick a écrit :

Yop, traduit en Anglais avec ChatGPT. Le script fonctionne bien. Du coup, j'ai pu répondre sur serverfault.com à cette question: https://serverfault.com/questions/11232 … 88#1123288

Ça serait peut-être bien de le garder en Anglais?

Je laisse chacun libre d'apporter une contribution, que ce soit technique ou de traduction.
Pour ma part j'aime bien les commentaires en français car il peuvent aider les débutants, mais on peut effectivement envisager de publier une nouvelle version en anglais.
N'hésite pas à ajouter des liens vers tes versions modifiées, je les mettrai dans le post principal smile

Hizoka a écrit :

Salut, en effet, les fichiers ne semblent pas avoir d'erreur d'encodage dans les zip de test.

N'est-ce pas corrigé par défaut ?

oui, je suppose que les désarchiveur comme unzip ont évolué .. en tout cas j'ai eu besoin de faire tourner ce vieux script suite à l'utilisation de shnsplit (programme qui découpe un fichier album audio flac en plusieurs pistes, selon un fichier .cue)

Hors ligne