J'ai un tas de fichiers sur une boîte Ubuntu, qui ont différents caractères dans leurs noms de fichiers que Windows n'accepte pas (principalement ":" et "*", mais peut-être d'autres).
Quelle est la façon la plus simple de les renommer et de les déplacer sur une machine Windows? Il est OK de remplacer ces caractères par quelque chose comme "[deux points]" et "[astérisque]".
linux
rename
batch-rename
RomanSt
la source
la source
*
).:
, ce qui est déjà assez mauvais. Nommer les documents après leur contenu est utile, et si le nom d'un article se termine par une question, le nom du fichier devrait l'être également.Réponses:
Jetez un oeil à renommage Glindra et désintoxication .
Les utilitaires de fichiers Glindra peuvent être installés sur Windows ou Linux. Exemples de nettoyage des noms de fichiers sous Windows:
Mappe les tirets (traits d'union) aux traits de soulignement.
Réduit les espaces.
Mappe les caractères problématiques comme * ?: [] "<> | () {} pour souligner.
Effectue les mêmes opérations de nettoyage que -safe, et en plus:
mappe tous les caractères 8 bits de la moitié supérieure de l'alphabet latin 1 à des caractères de secours raisonnables de 7 bits.
Mappe les caractères de guillemet simple `` ´ pour souligner.
Source: Correction des noms de fichiers Unix / Linux / POSIX: caractères de contrôle (tels que Newline), tirets principaux et autres problèmes
la source
G:\spc>rena.exe -safe -portable *.txt
sorties[FATAL-ERROR] Filename syntax error: aa:a.txt
rena '*.*' -portable
vous passez à Linux, c'est-à-dire , et si vous voulez qu'il soit récursif, utilisez quelque chose commerena '***/*.*' -portable
sous Linux. Et je crois que le changement de nom devrait être fait sous Linux, pas sous Windows.Essayez Recuva .
C'est le seul utilitaire Windows que j'ai trouvé qui gère les noms de fichiers non compatibles avec Windows.
Activez la recherche de fichiers non supprimés (pour la récupération à partir de disques endommagés ou reformatés) et analysez votre dossier. Lors de la restauration, activez la structure de dossier Restaurer . Recuva "copiera" efficacement le répertoire entier vers un autre emplacement tout en "santitisant" les noms de fichiers hostiles.
la source
Sans être sous Linux et sans rien tester, je pense que l'on pourrait utiliser des one-liners comme ceux ci-dessous.
Pour changer un caractère:
Et enfin pour supprimer tous les caractères non alphanumériques:
la source
<>:"/\|?*
Si vos fichiers se trouvent déjà sur un volume NTFS, il semble que l'exécution de chkdisk à partir de Windows "résout" le problème. Malheureusement, il semble que ce soit le cas en supprimant les fichiers incriminés.
la source
J'ai réussi avec une combinaison des deux premières réponses, plus pyRenamer (GUI). Sous Linux, j'ai utilisé pyRenamer pour réduire les espaces dans les noms de dossiers (répertoires) - en remplaçant l'espace par rien - afin que les autres programmes (Glindra renomment) fonctionnent récursivement (on pourrait placer des soulignements). À partir des fichiers, j'ai également retiré certains caractères ou mots acceptables par Windows pour économiser de l'espace, ainsi que des espaces réduits dans les noms de fichiers. J'ai ensuite exécuté rena pour supprimer les caractères non Windows, enregistré sur un lecteur flash, puis utilisé Recuva pour «restaurer» dans un dossier sous Windows. Recuva indique si un chemin de fichier est trop long (et il supprime également les caractères non Windows). Je n'ai pas encore trouvé d'outil qui vérifie le chemin des noms de fichiers pour voir s'ils sont inférieurs à la limite maximale de Windows de 255 (ou disons 240 pour permettre une certaine latitude).
la source