renommer en série, script bash pour renommer des fichiers |
Bienvenue invité ( Connexion | Inscription )
renommer en série, script bash pour renommer des fichiers |
4 Jun 2015, 17:03
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Bonjour à tous
Je me presente : olivier je bosse en imprimerie a la preparation des fichiers et je me fais quelques petits scripts pour automatiser certaines taches redondantes (chiante ?). J'ai souvent le cas de retirage d'impression ou le numero de commande est mis a jour. Ce travail consiste juste pour moi à changer le numero des fichiers afin de les faire correspondre a la bonne commande afin que toute la chaine s'y retrouve. J'explique plus simplement : j'ai un dossier du type "140522_nomclient_description" avec des fichiers dedans du meme type de nom par un petit script qui me demanderai quel numero remplacer et par lequel j'aimerai que tous les fichiers et le dossier deviennent : "150454_nomclient_description". Ayant cherché beaucoup sur le net je n'ai jamais trouvé un script qui marche (la boucle n'est a priori pas recursive dans les sous dossiers) et la commande find me fout un bazar pas possible. Ne maitrisant pas du tout tout ca et faisant ca seulement parce que ca m'intéresse et pour optimiser mon temps je fais appelle a votre aide....car laaa.... je n'en puis pluuuss ! merci d'avance. |
|
|
4 Jun 2015, 17:15
Message
#2
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 989 Inscrit : 22 Aug 2002 Lieu : 06220 VALLAURIS Membre no 3 217 |
Bonjour
Vous trouverez ci-dessous un squelette de script récursif que j'ai utilisé à plusieurs reprises. --[SCRIPT batch4FB.app] (* Yvan KOENIG (VALLAURIS, France) 2013/11/25 *) property rapport : {} -- globale property nomDuRapport : "Descripteurs de fichiers.txt" #===== on run (* lignes exécutées si on double clique sur l'icône du script application • lines executed if one double click the application script's icon *) tell application "SystemUIServer" to set dossier to choose folder (* dans un bloc System Events pour avoir un titre de dialogue "localisé" • in a System Events block to get a localized dialog title. *) my commun({dossier}) end run #===== on open (sel) (* sel contient une liste d'alias des éléments qu'on a déposés sur l'icône du script (la sélection) • sel contains a list of aliases of the items dropped on the script's icon (the selection) *) my commun(sel) end open #===== on commun(liste) local elem, p2d, p2r set my rapport to {} try repeat with elem in liste try my exploreTraite(elem as Unicode text, "") end try end repeat set p2r to (path to desktop as text) & nomDuRapport my writeto(p2r, my recolle(my rapport, return) & return, text, true) set my rapport to {} set p2r to p2r as alias --tell application "Numbers" to open p2r on error MsgErr number NroErr set my rapport to {} if NroErr is not -128 then beep 1 my afficheLeMessage("" & NroErr & " : " & MsgErr) end if -- NroErr is… return end try end commun #======= on afficheLeMessage(m) beep 1 if my parleanglais() then "OK" else "Vu" end if tell application (path to frontmost application as string) to display dialog m buttons {result} default button 1 giving up after 20 end afficheLeMessage #======= on exploreTraite(elem, ptree) (* elem est un Unicode text • elem is an Unicode text *) local cl_, typeId_ tell application "System Events" to tell disk item elem set cl_ to its class as text end tell if cl_ is not in {"folder", "«class cfol»"} then my TraiteUnDocument(elem) else my ExploreUnDossier(elem, ptree) end if -- cl_ is … end exploreTraite #===== on ExploreUnDossier(dossier, ptree) local nomElement, C if dossier does not end with ":" then set dossier to dossier & ":" tell application "System Events" to get name of disk items of folder dossier whose visible is true repeat with nomElement in result --list folder dossier without invisibles tell application "System Events" to set C to name of (dossier as alias) my exploreTraite((dossier & nomElement), ptree & C & ":") end repeat end ExploreUnDossier #===== on TraiteUnDocument(leCheminOriginal_UniText) (* • leCheminOriginal_UniText is of class Unicode text *) local nomSource, creDate, modDate, enListe, theExt (* Il aurait été possible de demander l'extension à System Events mais puisqu'il faut découper le nom pour supprimer l'extension autant e profiter pour récupérer celle-ci. *) tell application "System Events" to tell disk item leCheminOriginal_UniText set nomSource to name as text # set theExt to name extension set creDate to creation date as text set modDate to modification date as text end tell -- System Events if nomSource contains "." then set enListe to my decoupe(nomSource, ".") set theExt to "." & item -1 of enListe set nomSource to my recolle(items 1 thru -2 of enListe, ".") else set theExt to "" end if my recolle({nomSource, theExt, "", "", creDate, modDate}, tab) set end of my rapport to result end TraiteUnDocument #===== on decoupe(t, d) local oTIDs, l set {oTIDs, AppleScript's text item delimiters} to {AppleScript's text item delimiters, d} set l to text items of t set AppleScript's text item delimiters to oTIDs return l end decoupe #===== on recolle(l, d) local oTIDs, t set {oTIDs, AppleScript's text item delimiters} to {AppleScript's text item delimiters, d} set t to "" & l set AppleScript's text item delimiters to oTIDs return t end recolle #===== (* Handler borrowed to Regulus6633 - http://macscripter.net/viewtopic.php?id=36861 *) on writeto(targetFile, theData, dataType, apendData) -- targetFile is the path to the file you want to write -- theData is the data you want in the file. -- dataType is the data type of theData and it can be text, list, record etc. -- apendData is true to append theData to the end of the current contents of the file or false to overwrite it try set targetFile to targetFile as text set openFile to open for access file targetFile with write permission if not apendData then set eof of openFile to 0 write theData to openFile starting at eof as dataType close access openFile return true on error try close access file targetFile end try return false end try end writeto #===== on parleanglais() return (do shell script "defaults read 'Apple Global Domain' AppleLocale") does not start with "fr_" end parleanglais #====== --[/SCRIPT] Yvan KOENIG (VALLAURIS, France) jeudi 4 juin 2015 18:15:02 |
|
|
Guest_JacqR_* |
4 Jun 2015, 18:35
Message
#3
|
Guests |
Bonjour,
Quand on veut renommer des fichiers et des dossiers, il faut renommer les fichiers avant, donc il faut utiliser l'option -d avec la commande find, sinon, si on renomme le dossier avant, les chemins des fichiers seront incorrect Premièrement, essaie ce script bash : remplace ~/Documents par le chemin du dossier désiré (le dossier où il faut rechercher des fichiers et des dossiers), sinon on recherche dans votre dossier "Documents" Code #!/bin/bash rechText="140522_" ### le nom commence par remplText="150454_" ### le texte de remplacement find -d ~/Documents -name "$rechText"* -print0 | while read -d $'\0' f do echo "$f" nom=${f##*/} newName=${nom/$rechText/$remplText} ## on remplace le début du nom echo "${f%/*}/$newName" done Vous obtiendrez les chemins des fichiers et celui avec le nouveau nom (cela ne renomme aucun fichiers ni dossiers, c'est juste pour tester). Exemple
Si le résultat est bon : remplace le texte de la partie do....done par ceci Code do
nom=${f##*/} newName=${nom/$rechText/$remplText} ## on remplace le début du nom mv -n "$f" "${f%/*}/$newName" ## renomme l'élément done |
|
|
5 Jun 2015, 08:34
Message
#4
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Merci de vos réponses précises et rapide.
Désolé Yvan mais je ne comprend rien a ta réponse - ca ne doit pas être de mon niveau Merci à Jack je vais tester ca dans la journée et te tiens au courant (il est vrai que j'ai remarqué qu'une fois le 1er dossier renommé "find" ne trouve plus le bon chemin du coup. |
|
|
8 Jun 2015, 09:38
Message
#5
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Bon après test de ton script "JacqR" il apparait que tous les sous fichiers ne se renomment pas tous.
Est ce un souci de formatage de texte ? ou le script ne gère pas bien la boucle ? Le script ne marche qu'avec des numéros ? pas le texte ? pourrais tu me donner plus de détail sur le code (dont je ne comprend pas tout) -->read -d $'\0' f ou --> nom=${f##*/} on touche au but... Ce message a été modifié par niroub - 8 Jun 2015, 10:54. |
|
|
8 Jun 2015, 11:21
Message
#6
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Pour utiliser la solution que te propose JacqR c'est pas très compliqué ...
Récupère le code suivant (J'ai fais une légère modification car la commande find comportait une erreur) Code #!/bin/bash rechText="140522_" ### le nom commence par remplText="150454_" ### le texte de remplacement find -d ~/Documents -name "$rechText*" -print0 | while read -d $'\0' f do echo "$f" nom=${f##*/} newName=${nom/$rechText/$remplText} ## on remplace le début du nom echo "${f%/*}/$newName" done Colle le texte dans un éditeur de texte (avec TextEdit par exemple). Dans le menu Format choisit "Convertir en format Texte" (Si tu as seulement "Convertir en format RTF" dans le menu Format c'est que tu es déjà en format texte par défaut) Enregistre ce fichier la ou tu le souhaites par exemple sur le bureau (Commande du menu fichier --> enregistrer) avec le nom que tu souhaites (par exemple: renommeDossier) suivi de l'extension (.command). Tu peux refermer TextEdit Tu devrais donc retrouver un fichier "renommeDossier.command" sur ton bureau (En fonction des réglage de ton finder il est possible qu'il soit nommé juste "renommeDossier" mais le fichier s'appelle bien comme tu l'a demandé et l'extention est dans ce cas juste cachée. Pour rendre excécutable ce script il faut ensuite lui donner les droits ... Pour cela ouvre l'application "Terminal" Si tu as placé et nommé le fichier comme je te l'ai conseillé il te suffit de coller la ligne suivante : Code chmod u+x ~/Desktop/renommeTest.command Cela va ajouter les droits au script "renommeTest.command" placé sur le Bureau (~/Desktop/) de s'exécuter (+x) à l'utilisateur (u) c'est a dire toi. Tu peux refermer Terminal Si tu cliques sur le script depuis le bureau tu devrais voir une fenêtre de terminal s'ouvrir te montrer tous les fichiers à renommer avec le nom de remplacement. Dans ce script, pour le moment il n'y a pas le renommage encore mais c'est un test pour te montrer que tous les fichiers seront bien trouvé et renommé comme tu le souhaites. Edit : grillé , apparemment tu a réussi a mettre le script en place tout seul le temps que je tape un petit guide mais ton premier message me fesait penser que tu ne savais pas comment faire .... Pour les problèmes que tu as rencontrés refait un essais avec la ligne suivante modifiée Code find -d ~/Documents -name "$rechText*" -print0 | while read -d $'\0' f
Ce message a été modifié par teddy7545 - 8 Jun 2015, 11:48. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
8 Jun 2015, 13:43
Message
#7
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Merci Teddy et désolé de t'avoir fais perdre un peu de temps
je connais la manière dont on lance les scripts par contre il y a certaines choses que je ne comprend pas dans le script. Pourquoi le script marche sur les numéros et pas sur le texte (variable uniquement nombre peut être ?) il y a un bug d'affichage ou de mise a jour du finder qui ne me montre pas les bons noms de dossier changé. (si je relance le finder les modifications se font par contre) voir ci joint capture écran (j'ai masqué le nom du client)
Fichier(s) joint(s)
|
|
|
8 Jun 2015, 14:08
Message
#8
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Pas grave pour le temps passé, ca servira peut être un jour à quelqu'un qui voudra se lancer
Et puis j'avais lu un peu vite et c'est pas la réponse de JacqR que tu comprenais pas mais celle de Yvan que je trouve aussi un peu longue par rapport au shell Le script dans l'état fonctionne même avec du texte s'il est placé au début du nom ... Si tu veux pouvoir changer du texte au milieu du nom il faudrait modifier la commande find comme suit : Code find -d ~/Documents -name "*$rechText*" -print0 | while read -d $'\0' f Dans ce cas, les fichiers dont le texte est contenu dans le nom (quelque soit la position) seront modifiés mais ca ne correspondait pas à ton besoin dans ta première explication. Il faut placer les * entre les guillemets qui entourent la variable pour que le shell puisse fonctionner avec tous les noms de fichiers (caractères accentués, caractère spéciaux et espaces compris) sinon tu risque de rencontrer des problèmes. Je ne sais pas expliquer ton soucis de mise à jour du finder (sauf que j'ai aussi déjà rencontré des lenteurs de mise à jour avec des répertoires comportant de nombreux fichiers mais ca finit par se mettre a jour tout de même) Ce message a été modifié par teddy7545 - 8 Jun 2015, 14:16. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
8 Jun 2015, 14:14
Message
#9
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Ok Super, non le 1er script correpond a ce que je voulais c nickel
Pour le bug d'affichage dans les fenêtres je relancerai le finder si il y a que ça. Ce script me fait déjà gagner beaucoup de temps Par contre excusez moi d'être insistant mais pourriez juste m'expliquer brièvement ces lignes du script : while read -d $'\0' f nom = ${f##*/} ...et ce sera ok pour moi et un grand merci pour votre aide sinon j'y serai encore |
|
|
Guest_JacqR_* |
8 Jun 2015, 14:19
Message
#10
|
Guests |
Bonjour,
Le script ne marche qu'avec des numéros ? pas le texte ? pourrais tu me donner plus de détail sur le code (dont je ne comprend pas tout) -->read -d $'\0' f ou --> nom=${f##*/} read -d $'\0' f : cela lis le chemin et le mets dans la variable f nom=${f##*/} : Cela récupère le nom de l'élément à partir du chemin dans la variable f, donc, cela supprime tous les caractères jusqu'à la dernière barre oblique / Pour le texte : Il ne doit pas contenir des caractères qui sont utilisés pour le regex, sinon il faut mettre une barre oblique inversé avant ce caractère (Ex: \* ). |
|
|
Guest_JacqR_* |
8 Jun 2015, 14:37
Message
#11
|
Guests |
Pour le bug d'affichage dans les fenêtres je relancerai le finder si il y a que ça. Ce script me fait déjà gagner beaucoup de temps Essaie ceci : Ajoute cette ligne à la fin du script (après la ligne done) |
|
|
8 Jun 2015, 14:37
Message
#12
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
OK merci JacqR
je vais fouiller ça c'est encore un peu difficile pour moi (et si tu connais des bons supports en ligne pour débutant ... |
|
|
8 Jun 2015, 14:45
Message
#13
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 751 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
Avez-vous remarqué que OS X 10.10 Yosemite propose de renommer les fichiers ? J'ai déjà utilisé plein de fois cette fonctionnalité. Clic-droit sur une sélection de fichiers ou de dossiers… Oui, il y a de bonnes choses dans Yosemite ! Ce message a été modifié par g4hd - 8 Jun 2015, 14:53. -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
8 Jun 2015, 14:53
Message
#14
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Pour le bug d'affichage dans les fenêtres je relancerai le finder si il y a que ça. Ce script me fait déjà gagner beaucoup de temps Essaie ceci : Ajoute cette ligne à la fin du script (après la ligne done) Ca ne marche pas et j'ai l'erreur suivante : 52:69: execution error: Finder got an error: Can’t get every item of every Finder window. (-1728) Avez-vous remarqué que OS X 10.10 Yosemite propose de renommer les fichiers ? J'ai déjà utilisé plein de fois cette fonctionnalité. Et c'est maintenant que tu le dit Merci |
|
|
8 Jun 2015, 14:57
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 751 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
Et c'est maintenant que tu le dit Merci C'est la news du site rénové qui m'a accaparé la lecture du forum ! Désolé pour le retard ! -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
Guest_JacqR_* |
8 Jun 2015, 15:11
Message
#16
|
Guests |
Ca ne marche pas et j'ai l'erreur suivante : 52:69: execution error: Finder got an error: Can’t get every item of every Finder window. (-1728) C'est qu'il n'y a aucune fenêtre ouverte dans le Finder. Celui-ci vérifie qu'il y a au moins une fenêtre d'affichée . Code osascript -e 'tell application "Finder" to tell Finder windows to if it is not {} then update every item'
|
|
|
8 Jun 2015, 15:17
Message
#17
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
Ca ne marche pas et j'ai l'erreur suivante : 52:69: execution error: Finder got an error: Can’t get every item of every Finder window. (-1728) C'est qu'il n'y a aucune fenêtre ouverte dans le Finder. Celui-ci vérifie qu'il y a au moins une fenêtre d'affichée . Code osascript -e 'tell application "Finder" to tell Finder windows to if it is not {} then update every item' Plus de messages d'erreur mais la liste des noms de fichier n'est toujours pas a jour |
|
|
8 Jun 2015, 15:28
Message
#18
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 751 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
…la liste des noms de fichier n'est toujours pas a jour Quel est l'OS sur cette machine ? -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
8 Jun 2015, 15:32
Message
#19
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
…la liste des noms de fichier n'est toujours pas a jour Quel est l'OS sur cette machine ? Ce message a été modifié par niroub - 8 Jun 2015, 15:32.
Fichier(s) joint(s)
|
|
|
8 Jun 2015, 15:55
Message
#20
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 751 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
C'est Yosemite ! donc la solution à ta question existe toute faite, comme je l'ai décrite un peu avant.
Je présume que tes nouveaux noms de fichiers et dossiers ne doivent pas supprimer les anciens, là où ils sont classés. Aussi, je te suggère de commencer par dupliquer les dossiers à renommer… automatiquement ils vont s'allonger de "_copie". Là, tu les déplaces ailleurs, sur le bureau, par exemple. Tu les re-sélectionnes (au moins 2 fichiers) et tu peux les renommer (clic-droit : /renommer X fichiers) avec les options suggérées. C'est très rapide à faire et tu gardes le contrôle visuel de ce qui se passe. -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
8 Jun 2015, 16:03
Message
#21
|
|
Nouveau Membre Groupe : Membres Messages : 15 Inscrit : 4 Jun 2015 Membre no 195 526 |
C'est Yosemite ! donc la solution à ta question existe toute faite, comme je l'ai décrite un peu avant. Je présume que tes nouveaux noms de fichiers et dossiers ne doivent pas supprimer les anciens, là où ils sont classés. Aussi, je te suggère de commencer par dupliquer les dossiers à renommer… automatiquement ils vont s'allonger de "_copie". Là, tu les déplaces ailleurs, sur le bureau, par exemple. Tu les re-sélectionnes (au moins 2 fichiers) et tu peux les renommer (clic-droit : /renommer X fichiers) avec les options suggérées. C'est très rapide à faire et tu gardes le contrôle visuel de ce qui se passe. Oui maintenant que tu as donné cette solution j'ai vite trouvé comment faire (plus besoin de se casser la nenette maintenant - les os pensent à tout) En ce qui me concerne : je viens dupliquer une archive sur un serveur sur mon bureau et je renomme ce dossier copié la ou le script est plus intéressant que la fonction de yosémite c'est quand j'ai plusieurs dossier nommé : 150452_1_nomClient_description 150452_2_nomClient_description 150452_3_nomClient_description ... mais effectivement avec un seul dossier ...Vive Yosemite !! |
|
|
8 Jun 2015, 17:21
Message
#22
|
|
Champollion 2k5 Groupe : Modérateurs Messages : 7 009 Inscrit : 15 Jun 2003 Lieu : ...partout et nulle part... Membre no 8 070 |
La meilleure application de remontage pour Mac proposant tout un ensemble de possibilités (éventuellement combinées), scriptable, etc. , c'est A Better Finder Rename : http://www.publicspace.net/ABetterFinderRename/
Ca vaut 19,95$, mais ce n'est vraiment pas cher pour une imprimerie, et ça les vaut largement. C'est un de mes outils préférés et cela répond parfaitement à tous les schémas de remontage que j'ai eu à exécuter (dans le cadre arts graphiques également ) -------------------- MacBook Pro 16" M1 Max 64Go/2To Sonoma Don't believe anything you read on the net. Except this. Well, including this, I suppose (Douglas Adams) Perhaps the answer to the question lies in the question (Police Me - Tori Amos) |
|
|
15 Jun 2015, 21:58
Message
#23
|
|
Macbidouilleur d'Or ! Groupe : Rédacteurs Messages : 5 064 Inscrit : 19 Feb 2002 Lieu : BZH Membre no 2 083 |
La meilleure application de remontage pour Mac proposant tout un ensemble de possibilités (éventuellement combinées), scriptable, etc. , c'est A Better Finder Rename : http://www.publicspace.net/ABetterFinderRename/ Ca vaut 19,95$, mais ce n'est vraiment pas cher pour une imprimerie, et ça les vaut largement. C'est un de mes outils préférés et cela répond parfaitement à tous les schémas de remontage que j'ai eu à exécuter (dans le cadre arts graphiques également ) Tu m'as devancé :-) Allez, on couple tout ça avec Hazel ! Pour finir, un p'tit Switch :-) -------------------- Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !
Luttons contre le style SMS !!! iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox |
|
|
16 Jun 2015, 01:17
Message
#24
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 363 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Pour mettre des liens sur tout ça…
-------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
28 Mar 2018, 23:38
Message
#25
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 484 Inscrit : 16 Nov 2005 Lieu : Metz Membre no 50 011 |
En Powershell (maintenant que Powershell Core est disponible sous Mac OS) ça se fait tout vite et tout bien via le code suivant (écrit en deux minutes) :
Code [String]$FileLocation = "Chemin_contenant_le_dossier_et_les_sous-dossiers_a_renommer"
[String]$TextToBeReplaced = "140522" [String]$TextToReplace = "150454" Get-ChildItem -Path $FileLocation -Recurse | Where-Object {$_.Name -like "$TextToBeReplaced*"} | ForEach-Object { [String]$NewName = $_.Name -replace $TextToBeReplaced, $TextToReplace $_ | Rename-Item -NewName $NewName -Force -Confirm:$false } -------------------- Mac Mini Late 2012 Core i7 2,6 GHz, 16 Go RAM, disque dur Fusion Drive 1 To, Mac OS Mojave 10.14.6, Western Digital Red 2 To dans un dock Storeva DriveDock U3 USB 3.0 pour Time Machine
Les jeux-vidéo, c'est comme l'amour. Le plaisir solitaire c'est bien, mais à deux c'est mieux |
|
|
29 Mar 2018, 00:05
Message
#26
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Encore plus simple, il suffit de sélectionner au moins 2 fichiers, puis clic droit/rernommer, et un menu de traitements par lot apparait
-------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
Nous sommes le : 28th April 2024 - 13:20 |