Appels aux Cadors de la Ligne de commande : Renommage de fichier assez complexe.
33 réponses
pas.de.spam
Bonjour à tous,
Voilà, j'ai un problème assez complexe à résoudre et je ne pense pas
m'en sortir par la voie clicodromique.
J'ai environ 1200 dossiers contenant chacun 1 fichier (y en avait plus
avant, mais je les ai virés.
J'aimerais renommer, en une seule fois chacun des fichiers présents dans
ces dossiers, en ajoutant au dévbut du nom, les 5 premiers caractères
présent au début du nom du dossier ...
Je ne doute pas que vous allez me sortir un formule du tonnerre de Zeus,
et je vous en remercie d'avance.
Voilà, j'ai un problème assez complexe à résoudre et je ne pense pas m'en sortir par la voie clicodromique.
J'ai environ 1200 dossiers contenant chacun 1 fichier (y en avait plus avant, mais je les ai virés.
J'aimerais renommer, en une seule fois chacun des fichiers présents dans ces dossiers, en ajoutant au dévbut du nom, les 5 premiers caractères présent au début du nom du dossier ...
Je ne doute pas que vous allez me sortir un formule du tonnerre de Zeus, et je vous en remercie d'avance.
Bonne Journée
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer. -- PO.
Voilà, j'ai un problème assez complexe à résoudre et je ne pense pas
m'en sortir par la voie clicodromique.
J'ai environ 1200 dossiers contenant chacun 1 fichier (y en avait plus
avant, mais je les ai virés.
J'aimerais renommer, en une seule fois chacun des fichiers présents dans
ces dossiers, en ajoutant au dévbut du nom, les 5 premiers caractères
présent au début du nom du dossier ...
Je ne doute pas que vous allez me sortir un formule du tonnerre de Zeus,
et je vous en remercie d'avance.
Bonne Journée
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
--
PO.
Voilà, j'ai un problème assez complexe à résoudre et je ne pense pas m'en sortir par la voie clicodromique.
J'ai environ 1200 dossiers contenant chacun 1 fichier (y en avait plus avant, mais je les ai virés.
J'aimerais renommer, en une seule fois chacun des fichiers présents dans ces dossiers, en ajoutant au dévbut du nom, les 5 premiers caractères présent au début du nom du dossier ...
Je ne doute pas que vous allez me sortir un formule du tonnerre de Zeus, et je vous en remercie d'avance.
Bonne Journée
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer. -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Patrick Stadelmann
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick -- Patrick Stadelmann
In article <1ifamhe.1lygny2136m2k0N%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce
dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬
"Dossiers contenant les 1200 dossiers "
tell application "Finder"
set theFolders to folders of src
repeat with myFolder in theFolders
repeat 1 times
set folderName to name of myFolder
try
set theFile to file 1 of myFolder
on error
exit repeat
end try
set fileName to name of theFile
if character 1 of fileName is not in numList then
set fileName to (characters 1 thru 5 of folderName ¬
& fileName) as text
set name of theFile to fileName
end if
end repeat
end repeat
end tell
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick -- Patrick Stadelmann
pas.de.spam
Patrick Stadelmann wrote:
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ? que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi. Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les opérations de renommage multipliée au moins par 20 si ce n'est 50. -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1ifamhe.1lygny2136m2k0N%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce
dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬
"Dossiers contenant les 1200 dossiers "
tell application "Finder"
set theFolders to folders of src
repeat with myFolder in theFolders
repeat 1 times
set folderName to name of myFolder
try
set theFile to file 1 of myFolder
on error
exit repeat
end try
set fileName to name of theFile
if character 1 of fileName is not in numList then
set fileName to (characters 1 thru 5 of folderName ¬
& fileName) as text
set name of theFile to fileName
end if
end repeat
end repeat
end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ?
que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi.
Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le
passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les
opérations de renommage multipliée au moins par 20 si ce n'est 50.
--
PO.
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ? que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi. Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les opérations de renommage multipliée au moins par 20 si ce n'est 50. -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
pas.de.spam
Pierre-Olivier TAUBATY wrote:
Patrick Stadelmann wrote:
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ? que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi. Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les ^^^^^^^^^
opérations de renommage multipliée au moins par 20 si ce n'est 50.
Je voulais bien, sûr parler de Leopard. J'arrive pas à m'y faire, De Cheetah (10.0) à Puma (10.1), ça paraissait logique De Puma à Jaguar (10.2) ça pouvait encore aller De Jaguar à Panther (10.3), c'est la mêmebébête sauf qu'on change de continent. De panther à tiger (10.4), on gagne en puissance, donc, le choix s'impose.
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-) -- PO.
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1ifamhe.1lygny2136m2k0N%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce
dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬
"Dossiers contenant les 1200 dossiers "
tell application "Finder"
set theFolders to folders of src
repeat with myFolder in theFolders
repeat 1 times
set folderName to name of myFolder
try
set theFile to file 1 of myFolder
on error
exit repeat
end try
set fileName to name of theFile
if character 1 of fileName is not in numList then
set fileName to (characters 1 thru 5 of folderName ¬
& fileName) as text
set name of theFile to fileName
end if
end repeat
end repeat
end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ?
que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi.
Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le
passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les
^^^^^^^^^
opérations de renommage multipliée au moins par 20 si ce n'est 50.
Je voulais bien, sûr parler de Leopard. J'arrive pas à m'y faire, De
Cheetah (10.0) à Puma (10.1), ça paraissait logique
De Puma à Jaguar (10.2) ça pouvait encore aller
De Jaguar à Panther (10.3), c'est la mêmebébête sauf qu'on change de
continent.
De panther à tiger (10.4), on gagne en puissance, donc, le choix
s'impose.
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-)
--
PO.
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
Ca ne teste que le 1er caractère du nom du fichier et ne renomme ce dernier que s'il ne s'agit pas d'un chiffre. Pas vraiment testé...
set numList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
set src to choose folder with prompt ¬ "Dossiers contenant les 1200 dossiers " tell application "Finder" set theFolders to folders of src repeat with myFolder in theFolders repeat 1 times set folderName to name of myFolder try set theFile to file 1 of myFolder on error exit repeat end try set fileName to name of theFile if character 1 of fileName is not in numList then set fileName to (characters 1 thru 5 of folderName ¬ & fileName) as text set name of theFile to fileName end if end repeat end repeat end tell
Patrick
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ? que je suppose Apple Script. Je n'ai jamais utilisé c'te bête là moi. Mes maigres connaissances s'arrêtent à Automator. D'ailleurs, depuis le passage à Tiger, ce dernier a vu sa vitesse d'éxécution sur les ^^^^^^^^^
opérations de renommage multipliée au moins par 20 si ce n'est 50.
Je voulais bien, sûr parler de Leopard. J'arrive pas à m'y faire, De Cheetah (10.0) à Puma (10.1), ça paraissait logique De Puma à Jaguar (10.2) ça pouvait encore aller De Jaguar à Panther (10.3), c'est la mêmebébête sauf qu'on change de continent. De panther à tiger (10.4), on gagne en puissance, donc, le choix s'impose.
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-) -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Martin Costabel
Pierre-Olivier TAUBATY wrote:
Patrick Stadelmann wrote:
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que ton dossier de travail soit celui dans lequel se trouvent tes 1200 dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
-- Martin
Pierre-Olivier TAUBATY wrote:
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1ifamhe.1lygny2136m2k0N%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep
'^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */*
do
B=`basename $F`
D=`dirname $F`
echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B`
done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que
ton dossier de travail soit celui dans lequel se trouvent tes 1200
dossiers. Sinon, taper auparavant
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que ton dossier de travail soit celui dans lequel se trouvent tes 1200 dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
-- Martin
Eric Levenez
Le 12/04/08 21:55, dans <480113ce$0$893$, « Martin Costabel » a écrit :
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs
Oui, sinon effacement ou perte de données garantie ! Mais pourquoi donc faire un script comme cela lors que mettre des guillemets est si facile ?
et que ton dossier de travail soit celui dans lequel se trouvent tes 1200 dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 12/04/08 21:55, dans <480113ce$0$893$ba4acef3@news.orange.fr>, « Martin
Costabel » <costabel@wanadoo.fr> a écrit :
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep
'^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */*
do
B=`basename $F`
D=`dirname $F`
echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B`
done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs
Oui, sinon effacement ou perte de données garantie ! Mais pourquoi donc
faire un script comme cela lors que mettre des guillemets est si facile ?
et que
ton dossier de travail soit celui dans lequel se trouvent tes 1200
dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Le 12/04/08 21:55, dans <480113ce$0$893$, « Martin
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Ceci suppose que tes noms de fichiers ne comportent pas de blancs
Oui, sinon effacement ou perte de données garantie ! Mais pourquoi donc faire un script comme cela lors que mettre des guillemets est si facile ?
ta remarque a-'elle une incidence sur la mise en oeuvre de ce script ? Où puis-je l'utiliser ?
-- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
pas.de.spam
Martin Costabel wrote:
Pierre-Olivier TAUBATY wrote:
Patrick Stadelmann wrote:
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Merc, j'essayerais cela demain matin, lorsque j'aurais les yeux en face des trous.
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que ton dossier de travail soit celui dans lequel se trouvent tes 1200 dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
Aïe Aïe Aïe, des espaces j'en ai des milliers, puisque chaque fichier porte le titre du DVD auquel il correspond (bibliothèque de scan des jaquettes.
Cela dit, avec automator, je peux aisément remplacer tout caractère, très très rapidement dans toute une arborescence. Donc dans un premier temps, je remplacerais tous les espaces par des _ et ensuite, manoeuvre inverse. Je te dirais ce que cela a donné demain, ou Lundi.
Merci encore. -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Martin Costabel <costabel@wanadoo.fr> wrote:
Pierre-Olivier TAUBATY wrote:
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1ifamhe.1lygny2136m2k0N%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait
être conditionnel, à savoir, si le nom du fichier comporte des chiffres
en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep
'^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */*
do
B=`basename $F`
D=`dirname $F`
echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B`
done
Merc, j'essayerais cela demain matin, lorsque j'aurais les yeux en face
des trous.
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que
ton dossier de travail soit celui dans lequel se trouvent tes 1200
dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
Aïe Aïe Aïe, des espaces j'en ai des milliers, puisque chaque fichier
porte le titre du DVD auquel il correspond (bibliothèque de scan des
jaquettes.
Cela dit, avec automator, je peux aisément remplacer tout caractère,
très très rapidement dans toute une arborescence. Donc dans un premier
temps, je remplacerais tous les espaces par des _ et ensuite, manoeuvre
inverse.
Je te dirais ce que cela a donné demain, ou Lundi.
In article <1ifamhe.1lygny2136m2k0N%, (Pierre-Olivier TAUBATY) wrote:
J'ai oublié de préciser un détail important : si le renommage pouvait être conditionnel, à savoir, si le nom du fichier comporte des chiffres en début, ne pas le renommer.
En bash, c'est plus court (une ligne):
for F in */* ; do B=`basename $F`; D=`dirname $F`; echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:3}$B`; done
Ou, en plus joli et plusieurs lignes
for F in */* do B=`basename $F` D=`dirname $F` echo $B | grep '^[0-9]' >/dev/null || mv $F $D/`echo ${D:0:5}$B` done
Merc, j'essayerais cela demain matin, lorsque j'aurais les yeux en face des trous.
Ceci suppose que tes noms de fichiers ne comportent pas de blancs et que ton dossier de travail soit celui dans lequel se trouvent tes 1200 dossiers. Sinon, taper auparavant
cd /nom/du/dossier/en/question
Aïe Aïe Aïe, des espaces j'en ai des milliers, puisque chaque fichier porte le titre du DVD auquel il correspond (bibliothèque de scan des jaquettes.
Cela dit, avec automator, je peux aisément remplacer tout caractère, très très rapidement dans toute une arborescence. Donc dans un premier temps, je remplacerais tous les espaces par des _ et ensuite, manoeuvre inverse. Je te dirais ce que cela a donné demain, ou Lundi.
Merci encore. -- PO.
Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Patrick Stadelmann
In article <1ifb1js.qv3fph10wqr3cN%, (Pierre-Olivier TAUBATY) wrote:
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ? que je suppose Apple Script.
Coller le script dans l'Editeur de Script et cliquer sur "Exécuter".
Patrick -- Patrick Stadelmann
In article <1ifb1js.qv3fph10wqr3cN%pas.de.spam@chez.moi>,
pas.de.spam@chez.moi (Pierre-Olivier TAUBATY) wrote:
Merci, Patrick, mais ...... euh ......... je fais quoi avec ce script ?
que je suppose Apple Script.
Coller le script dans l'Editeur de Script et cliquer sur "Exécuter".
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>