2 votes

Puis-je utiliser AppleScript pour supprimer les fichiers du NAS répertoriés dans un fichier ?

Je fais le ménage dans mes dossiers iTunes. Je me suis rendu compte qu'il y a plus de 3k de fichiers qui ne sont en fait pas dans iTunes. Je les ai identifiés et je les ai tous placés dans un fichier texte appelé "untitled.txt" au format ci-dessous.

/Volumes/Multimedia/Music/ITunes Media/Kiko/Come On Up/Come On Up.mp3
/Volumes/Multimedia/Music/ITunes Media/Kiko/Traxxxx/Traxxxx.mp3

Les fichiers se trouvent sur mon NAS, donc ma question serait de savoir à quoi ressemblerait le script et s'il lira le format de fichier NAS (je pense que c'est ext4 ).

1 votes

Avez-vous essayé la fonction "consolider" d'iTunes ? [Je ne l'ai jamais testée sur un NAS] ou voulez-vous dire qu'ils ne sont pas du tout listés dans iTunes, mais qu'ils sont simplement des " fichiers de réserve " ?

0 votes

Pas du tout dans iTunes, juste dans le dossier iTunes... une sorte d'héritage que je suis en train de nettoyer. J'aurais besoin du script et j'espère qu'il supprimera les fichiers.

1 votes

Veuillez jeter un coup d'œil à la page suivante : Que dois-je faire lorsque quelqu'un répond à ma question ? et n'oubliez pas de prendre le Tour .

3voto

user3439894 Points 52496

Comme alternative à l'utilisation de AppleScript c'est tellement plus facile de le faire en Terminal en utilisant bash par exemple :

while IFS= read -r line; do echo rm "$line"; done < /path/to/untitled.txt

Exécutez-le tel quel avec le echo commande pour jeter un coup d'œil 1 à sa sortie, et si cela semble correct, alors exécutez la commande commande encore une fois sans echo en elle.

Notez que lorsqu'il est exécuté sans l'option echo commande le noms de fichiers du chemin sera cité, alors qu'avec echo commande s'affichera comme par exemple :

rm /Volumes/Multimedia/Music/ITunes Media/Kiko/Come On Up/Come On Up.mp3

Cependant, sans le echo commande le rm commande avec le noms de fichiers du chemin sera exécuter comme par exemple :

rm "/Volumes/Multimedia/Music/ITunes Media/Kiko/Come On Up/Come On Up.mp3"

Ainsi, le traitement noms de fichiers du chemin qui contient espaces .


1 Conseil : agrandissez la fenêtre dans Terminal afin de voir la ligne complète sans qu'elle s'enroule sur l'écran, ce qui facilitera la détection d'éventuelles anomalies.

3voto

wch1zpink Points 6067

Toutefois, si vous préférez utiliser un AppleScript solution, ce qui suit AppleScript devrait faire l'affaire.

Ce code AppleScript fonctionne pour moi avec la dernière version de MacOS Mojave.

set filePathsTextFile to "/path/to/untitled.txt"

set posixFiles to readFile(filePathsTextFile)

tell application "Finder"
    repeat with i in posixFiles
        try
            set thisItem to i as POSIX file as alias
            delete thisItem
        on error errMsg number errNum
            activate
            display alert "Cannot Locate File To Be Deleted" message ¬
                errMsg & "  Error Code. " & errNum & linefeed & linefeed ¬
                & "Please Make Sure The Volume Containing File To Be Deleted Is Mounted Or File Exists" as ¬
                critical buttons {"OK"} giving up after 10
            return
        end try
    end repeat
end tell

on readFile(filePathsTextFile)
    set theFile to filePathsTextFile
    set theParagraphs to read theFile as text using delimiter linefeed
end readFile

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X