1 votes

AppleScript : Télécharger sur un lecteur AFP

J'essaie de télécharger des fichiers sur un lecteur AFP mais j'obtiens toujours "Warning : Impossible de créer le fichier /Volumes/home/Downloads : Est un répertoire "

Mais la dernière commande fonctionne bien dites à l'application "Finder" d'ouvrir ("/Volumes/home/Downloads" comme fichier POSIX)

set theFileURL to the clipboard
set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "/"}
set theFile to text item -1 of theFileURL
set AppleScript's text item delimiters to TID

set theFilePath to "/Volumes/home/Downloads"
try
    do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of theFilePath
    display dialog "The download is finished!" buttons {"OK"} default button 1 with icon note giving up after 5
on error theError
    display dialog "Error downloading the file:" & return & theFile & return & return & theError buttons {"OK"} default button 1 with icon 0 giving up after 5
end try

tell application "Finder" to open ("/Volumes/home/Downloads" as POSIX file)

dans le même genre de script, je suis aussi à télécharger torrent à mon Synology Download Station si quelqu'un ont un indice.

1voto

user3439894 Points 52496

El curl commande dans le do shell script commande est malformé. Le site -o option s'attend à ce qu'un nom de fichier ou un nom de chemin entièrement qualifié nom de fichier pas seulement un camino comme ce que le variable theFilePath contient. Voir la page de manuel de curl dans un type de terminal man curl et appuyez sur Entrée, puis faites défiler la liste jusqu'à -o, --output <file> où il est dit : Write output to <file> instead of stdout.

Donc votre do shell script commande devrait ressembler :

do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of (theFilePath & "/" & theFile)

Si vous incluez le / (barre oblique) à la fin de la valeur vous set pour le theFilePath variable par exemple set theFilePath to "/Volumes/home/Downloads/" vous pouvez éliminer & "/" de la do shell script commande qui se présenterait alors comme suit :

do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of (theFilePath & theFile)

De plus, puisque vous avez déjà défini theFilePath vous pouvez l'utiliser dans votre tell application "Finder" déclaration par exemple

tell application "Finder" to open theFilePath as POSIX file

Si vous voulez que le Finder déclenche l'ouverture du fichier, et selon la façon dont vous avez configuré theFilePath (avec ou sans / ), utilisez l'un des éléments suivants de manière appropriée :

tell application "Finder" to open (theFilePath & "/" & theFile) as POSIX file
tell application "Finder" to open (theFilePath & theFile) as POSIX file

L'AppleScript code montré ci-dessous contient les deux formes de l theFilePath variable et le do shell script commande ainsi que deux versions de la tell application "Finder" déclaration avec un set commenté avec le leader -- (double tiret).

set theFileURL to the clipboard
set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "/"}
set theFile to text item -1 of theFileURL
set AppleScript's text item delimiters to TID

-- set theFilePath to "/Volumes/home/Downloads"
set theFilePath to "/Volumes/home/Downloads/"

try
    -- do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of (theFilePath & "/" & theFile)

    do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of (theFilePath & theFile)

    display dialog "The download is finished!" buttons {"OK"} default button 1 with icon note giving up after 5
on error theError
    display dialog "Error downloading the file:" & return & theFile & return & return & theError buttons {"OK"} default button 1 with icon 0 giving up after 5
end try

tell application "Finder" to open theFilePath as POSIX file
-- tell application "Finder" to open (theFilePath & "/" & theFile) as POSIX file
-- tell application "Finder" to open (theFilePath & theFile) as POSIX file

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