Fondamentalement, la fonction de ce script est de convertir un fichier vidéo au format compatible avec Apple TV, puis de supprimer les fichiers originaux une fois la conversion terminée.
Je suis absolument à bout. Pendant les trois dernières heures, j'ai essayé toutes les combinaisons possibles pour que l'instruction conditionnelle à la fin du script fonctionne correctement.
Voici la situation. Je télécharge beaucoup de fichiers vidéo torrent qui se trouvent finalement dans un dossier sur mon disque dur appelé "Terminé". 90% du temps, les vidéos téléchargées se trouvent dans leur propre dossier que nous appellerons "dossier vidéo téléchargé". De temps en temps, je télécharge un fichier vidéo qui n'est pas contenu dans son propre dossier. Cette vidéo téléchargée se trouve donc maintenant dans le dossier "Terminé".
À la fin de ce script, j'essaie de créer l'instruction conditionnelle qui est essentiellement.. Si le fichier téléchargé se trouve dans le dossier "dossier vidéo téléchargé" qui se trouve dans le dossier "Terminé"... alors supprimez le dossier "dossier vidéo téléchargé" (qui contient le fichier vidéo et d'autres fichiers également) <<— cette partie du script fonctionne correctement MAIS... si le fichier vidéo téléchargé n'est pas contenu dans un dossier qui lui est propre et se trouve maintenant dans le dossier "Terminé"... alors supprimez uniquement ce fichier vidéo. <<— cette partie ne fonctionne pas correctement. Peu importe ce que j'essaie, je finis par supprimer mon dossier "Terminé" (qui contient des dizaines d'autres dossiers que je veux laisser intacts)
En note annexe, je suis assez sûr d'avoir ajouté des étapes dans ce script qui n'avaient pas besoin d'être ajoutées. Encore novice dans tout le processus de script LOL
proprieté date de création : (date actuelle) - (minutes * 10)
proprieté chemin d'entrée1: alias "Macintosh HD:Utilisateurs:Smokestack:Documents:Téléchargements Vuze:Terminé:"
proprieté chemin de sortie1: alias "Macintosh HD:Utilisateurs:Smokestack:Musique:iTunes:Support musique iTunes:Vidéos à la maison:"
définir chemin d'entrée en tant que chemin POSIX de chemin d'entrée1
définir chemin de sortie en tant que chemin POSIX de chemin de sortie1
définir l’icône en tant que chemin vers la ressource "Apple_TV_Logo.png"
afficher dialogue " CONVERTIR UNE VIDÉO POUR APPLE TV" boutons {"Annuler", "Choisir un fichier"} bouton par défaut 2 avec icône l’icône
si le bouton renvoyé du résultat est "Choisir un fichier" alors
définir leProcessus en tant que choisir le fichier avec invite "Choisir les fichiers vidéo à convertir pour Apple TV" emplacement par défaut chemin d'entrée1
définir leFichier en tant que le résultat -- définit la variable sur le nom du fichier choisi
définir leFichier1 en tant que leFichier
définir supprimerDossierOriginal en tant que leFichier -- utilisé à la fin du script pour supprimer le fichier vidéo original choisi
dire à l'application "Événements système"
définir leNom en tant que nom du leProcessus -- obtenir le nom du fichier pour insérer sa valeur dans les lignes suivantes
terminer dire
définir cheminDeSortie2 en tant que (chemin de sortie & leNom & ".m4v")
afficher dialogue "VEUILLEZ ÊTRE PATIENT. CE PROCESSUS POURRAIT PRENDRE JUSQU'À 30 MINUTES POUR SE TERMINER" boutons {"OK"} bouton par défaut 1 avec icône l’icône abandon après 7
définir leFichier en tant que chemin POSIX du leFichier
définir leFichier en tant que "-i " & forme citée du leFichier & " -o " & forme citée de chemin de sortie & forme citée du leNom & ".m4v"
faire script shell "/Applications/HandBrakeCLI -Z \"AppleTV 3\" " & leFichier
sinon
retourner
terminer si
-- la Commande Suivante... Pour Que Les Vidéos Ajoutées À iTunes Soient Immédiatement Disponibles Sur Apple TV, La Vidéo Doit Être Lue, Pendant Au Moins Une Seconde, D'Abord Dans iTunes
dire à l'application "Finder"
ouvrir (chaque élément de chemin de sortie1 dont la date de création > date de création)
terminer dire
délai 2
-- la Commande Suivante... Ferme La Fenêtre Vidéo Dans iTunes
dire à l'application "Événements système"
appui sur "." en utilisant la touche de commande
terminer dire
-- ci-dessous Est Où Je Suis Bloqué
dire à l'application "Finder"
définir supprimerDossierOriginal en tant que le conteneur de supprimerDossierOriginal
si supprimerDossierOriginal n'est pas égale à chemin d'entrée1 alors
supprimer supprimerDossierOriginal -- Cela Supprime Le Fichier Original Et Son Dossier conteneur s'il est situé à l'intérieur de l'alias "Macintosh HD:Utilisateurs:Smokestack:Documents:Téléchargements Vuze:Terminé:"
sinon
si leFichier1 est dans chemin d'entrée1 alors -- cela devrait supprimer uniquement le fichier original.. S’il est situé dans l'alias "Macintosh HD:Utilisateurs:Smokestack:Documents:Téléchargements Vuze:Terminé:"
supprimer leFichier1
fin si
fin si
terminer dire
afficher notification "Votre vidéo est maintenant dans le dossier Vidéos à la maison de votre iTunes et est disponible pour être regardée avec Apple TV" avec titre "VOTRE CONVERSION DE VIDÉO EST TERMINÉE" nom du son "submarine"
J'espère que quelqu'un pourra me diriger dans la bonne direction.
MISE À JOUR :
Voici une version du code qui fonctionne parfaitement !! Cela a été tiré du message de @Hurston qui a apporté les modifications à mon code dans sa réponse à mon message
Seules quelques modifications mineures étaient nécessaires.
proprieté date de création : (date actuelle) - (minutes * 10)
proprieté chemin d'entrée1 : (chemin du dossier documents en tant que texte) & "Téléchargements Vuze:Terminé:"
proprieté chemin de sortie1 : (chemin du dossier musique en tant que texte) & "iTunes:Support musique iTunes:Vidéos à la maison:"
définir chemin d'entrée en tant que chemin POSIX de chemin d'entrée1
définir chemin de sortie en tant que chemin POSIX de chemin de sortie1
définir l’icône en tant que chemin vers la ressource "Apple_TV_Logo.png"
afficher dialogue "CONVERTIR VIDÉO POUR APPLE TV" boutons {"Annuler", "Choisir un fichier"} bouton par défaut 2 avec icône l’icône
si le bouton renvoyé du résultat est "Choisir un fichier" alors
définir leFichier en tant que choisir le fichier avec invite "Choisir les fichiers vidéo à convertir pour Apple TV" emplacement par défaut (chemin d'entrée1 en tant qu'alias)
dire à l'application "Événements système"
définir leNom en tant que nom du leFichier
terminer dire
définir chemin de sortie2 en tant que (chemin de sortie & leNom & ".m4v")
afficher dialogue "VEUILLEZ ÊTRE PATIENT. CE PROCESSUS POURRAIT PRENDRE JUSQU'À 30 MINUTES POUR SE TERMINER" boutons {"OK"} bouton par défaut 1 avec icône l’icône abandon après 7
set posixFile to chemin POSIX du leFichier
set posixFile to "-i " & forme citée de posixFile & " -o " & forme citée de chemin de sortie2
faire script shell "/Applications/HandBrakeCLI -Z \"AppleTV 3\" " & posixFile
sinon
retourner
terminer si
dire à l'application "Finder"
ouvrir (chaque élément de dossier chemin de sortie1 dont la date de création > date de création)
fin dire
délai 2
dire à l'application "Événements système"
appui sur "." en utilisant la touche de commande
fin dire
dire à l'application "Finder"
définir supprimerDossierOriginal en tant que le conteneur du leFichier
si (supprimerDossierOriginal en tant que texte) n'est pas égal à chemin d'entrée1 alors
supprimer supprimerDossierOriginal
sinon
supprimer leFichier
fin si
fin dire
afficher notification "Votre vidéo est maintenant dans le dossier Vidéos à la maison de votre iTunes et est disponible pour être regardée avec Apple TV" avec titre "VOTRE CONVERSION DE VIDÉO EST TERMINÉE" nom du son "submarine"