Home

LiveCode

successeur d'Hypercard

Inverse l'ordre des noms de fichier d'un dossier


Vous avez un dossier avec des fichiers numérotés. Et vous voulez inverser leur ordre. Par exemple :

file10aaaa
file20bbbb
file30cccc

vous voulez obtenir :

file10cccc
file20bbbb
file30aaaa

le texte « file10 » peut-être différent dans votre cas. J'ai donc mis dans une routine à part la transformation du nom de fichier.




------------------------------------------------

18 jan 2016 - V1.0 Copyright Alain Le Gallou

Modifier tout les noms de fichier d'un dossier xx

Résultat dans un dossier xxBis

Ne traite que les fichiers de données .jpg .txt .... pas les applications

Mettre la logique de changement de nom du fichier dans

la function newFileName


local numero = 100 -- départ de la nouvelle numérotation


on mouseUp

answer folder "Selectionnez le dossier via le Finder"

if the result is "cancel" then exit mouseUp

else put it into folderPath --> /Users/alg/Desktop/aWorking

set the defaultFolder to folderPath

put the files into listFileName -- The list of all fileName


-- Suppression des fichiers systèmes (.DS_Store, etc)

repeat with i = 1 to the number of lines of listFileName

if the first char of line i of listFileName is "."

then delete line i of listFileName

end repeat


-- Create the new folder container xxxBis

put folderPath &"Bis" into folderPathBis

if there is no folder folderPathBis

then create folder folderPathBis

else alreadyExist


-- Define the complet folder path for URL command

put "binfile:" & folderPath & slash into folderDepart -- "binfile:/Users/alg/Desktop/aTest/"

put "binfile:" & folderPath & "Bis" & slash into folderToCopy
-- "binfile:/Users/alg/Desktop/aTestBis/"


-- Copy and change file name

repeat with i = the number of lines of listFileName down to 1 -- From last to first

put line i of listFileName into oneFileName

put newFileName (oneFileName) into oneFileNameNew -- change file name

put url (folderDepart & oneFileName) into url (folderToCopy & oneFileNameNew) -- Copy

end repeat


set the defaultFolder to folderPathBis --Debug

put the files into msg --Debug

revSpeak “done”

end mouseUp


function newFileName oneFileName

-- Ici tout ce que vous voulez modifier sur le nom de fichier

delete char 1 to 6 of oneFileName -- début "file10"

put "file" & numero & oneFileName into oneFileNameNew --> 101xxxx

add 1 to numero

return oneFileNameNew

end newFileName


on alreadyExist

answer "The folder already exit, do you want to continu" with "Yes" or "Cancel"

if it is "Cancel" then exit alreadyExist

end alreadyExist


------------------------------------------------




Merci
SignatureZapfino


Merci de votre visite


UP