Applescript test d'existence du fichier
OK, je pensais que ce serait simple, mais apparemment, je suis absent quelque chose d'évident. Mon code est comme suit:
set fileTarget to ((path to desktop folder) & "file$") as string
if file fileTarget exists then
display dialog "it exists"
else
display dialog "it does not exist"
end if
Facile à droite? Malheureusement, lorsque je lance le script, il renvoie l'erreur
Can’t get file "OS X:Users:user:Desktop:files$".
Il n'a pas d'importance si le fichier existe ou pas, c'est le même message d'erreur que je reçois. J'ai essayé une douzaine de choses différentes, mais il reste des souches de moi.
OriginalL'auteur EightQuarterBit | 2010-08-12
Vous devez vous connecter pour publier un commentaire.
- Je utiliser cette sous-routine pour voir si un fichier existe ou pas:
Ajouter le sel au goût.
OriginalL'auteur Philip Regan
Il est facile sauf "existe", c'est un Finder ou les Événements du Système de commande. Ce n'est pas un droit applescript commande. En tant que tel, vous devez envelopper dans un tell application bloc de code. Pour info: voici une autre méthode qui ne nécessite pas une application. Il fonctionne parce que quand vous contraindre un chemin d'accès à un "alias", il doit exister sinon vous aurez une erreur. Ainsi, vous pouvez effectuer les opérations suivantes.
REMARQUE: vous avez une erreur dans votre code. Vous êtes à l'aide de l' & opérateur d'ajouter des cordes, mais vous le faites mal, bien que vous obtenez la bonne réponse par la chance. Lorsque vous utilisez le & opérateur, chaque objet, de chaque côté de l'opérateur doit être une chaîne de caractères. "chemin d'accès de bureau dossier" n'est pas une chaîne, donc il faut d'abord en faire une chaîne, puis ajouter la chaîne "fichier$". Donc faire comme ceci...
((path to desktop folder) & "file$") as string
de moi. C'est la façon dont je l'ai fait depuis des siècles et j'ai jamais eu un problème.Oui, je sais que ça fonctionne parce que au début, je l'ai fait de cette façon. Applescript est bien comme ça... il permet de corriger des erreurs mineures. Si vous regardez le résultat de l'addition avant d'être contraint à une chaîne, il ressemble à ceci "{alias "Macintosh HD:Users:hmcshane:Bureau:", "le fichier$"}". C'est une liste de 2 éléments alors que c'est certainement pas ce que nous sommes après. Nous espérons connaître la théorie un peu mieux sera de les aider avec quelque chose de plus complexe dans l'avenir qui ne fonctionne pas.
Je n'ai jamais pensé de cette façon, mais la tienne est beaucoup plus propre. Merci pour l'astuce.
OriginalL'auteur regulus6633
pour éviter l'erreur d'origine
Ne pouvez pas obtenir le fichier "OS X:Users:utilisateurs:Bureau:fichiers$".
ajoutez simplement de faire un script de dire à bloc
tell application "Finder"
ensemble fileTarget à ((chemin du dossier sur le bureau) & fichier"$") as string
si le fichier fileTarget existe alors
affichage de la boîte de dialogue "il existe"
d'autre
affichage de la boîte de dialogue "il n'existe pas"
fin de si
fin dire
OriginalL'auteur Tom