J'ai fait une grosse erreur aujourd'hui en gérant mon système de sauvegarde auto-hébergé et j'ai fini par supprimer environ la moitié de mon dossier utilisateur. Heureusement, la sauvegarde existait et était capable de copier toutes mes données. La partie mauvaise est chaque fichier qui a été restauré a un horodatage dans le nom de fichier.Batch ou Bash pour supprimer un horodatage en milliers de fichiers
Ainsi, un fichier qui était filename.file est maintenant le nom de fichier ~ 20170401-1999.file
Je ne suis pas trop lumineux quand il s'agit de fichiers batch ou ce pas, mais est-il possible un BAT pourrait être programmé pour parcourir chaque nom de fichier et supprimer l'horodatage? Chaque horodatage commence par ~ et se termine par la période du type de fichier. Donc enlever tout ce qui inclut et après le tilde et s'arrêter au personnage avant la période réglerait le problème.
4600 fichiers ont besoin d'être corrigés avec une grande variété d'extensions de type de fichier. Je suis sur Windows 10 Pro et capable d'user powershell ou bash pour corriger l'erreur. J'ai le sous-système Windows Linux installé, donc un script bash est également acceptable.
Existe-t-il toujours exactement un '~' dans chaque nom de fichier? – aschipfl
Vous avez déjà une réponse, mais oui, il est apparu exactement une fois dans chaque fichier qui a été restauré à partir de la sauvegarde. Les fichiers non restaurés étaient simplement nom_fichier.type alors que les fichiers de restauration étaient nom_fichier ~ groupe_date_date_temps.type (I.E. resume ~ 20170409-173314.pdf –
Cela aurait facilement pu se faire avec n'importe quel utilitaire de renommage de fichiers disponible gratuitement sur Internet. – Squashman