In article <1jfuocn.aspsvu1m27e21N%, (JiPaul) wrote:
> Par contre ce qui ne marche pas avec l'un ou l'autre script, c'est de > remplacer la première ligne par : > > set d to folder "Volumes:Vega2:IMAGES:Erwann" > > Qu'ai-je encore raté ?
La class "folder" ne fait pas partie intégrante d'AppleScript, elle est définie par le Finder.
Ou alors utiliser :
set d to alias "..."
car "alias" est une classe de base !
Patrick -- Patrick Stadelmann
In article
<Patrick.Stadelmann-92AC57.09583724032010@news.individual.net>,
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1jfuocn.aspsvu1m27e21N%blanc@empty.org>,
blanc@empty.org (JiPaul) wrote:
> Par contre ce qui ne marche pas avec l'un ou l'autre script, c'est de
> remplacer la première ligne par :
>
> set d to folder "Volumes:Vega2:IMAGES:Erwann"
>
> Qu'ai-je encore raté ?
La class "folder" ne fait pas partie intégrante d'AppleScript, elle est
définie par le Finder.
Ou alors utiliser :
set d to alias "..."
car "alias" est une classe de base !
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1jfuocn.aspsvu1m27e21N%, (JiPaul) wrote:
> Par contre ce qui ne marche pas avec l'un ou l'autre script, c'est de > remplacer la première ligne par : > > set d to folder "Volumes:Vega2:IMAGES:Erwann" > > Qu'ai-je encore raté ?
La class "folder" ne fait pas partie intégrante d'AppleScript, elle est définie par le Finder.
Ou alors utiliser :
set d to alias "..."
car "alias" est une classe de base !
Patrick -- Patrick Stadelmann
NicolasAlex.Michel.remove
Patrick Stadelmann wrote:
In article <1jfuo5p.14onzl4u4tx4wN%, (Nicolas Michel) wrote:
> Si tu as une série d'alias tu peux tester un truc de ce genre : > > find path -type f -exec GetFileInfo {} ; |grep -B2 ""MACS""
Si tu as GetFileInfo, le plus simple est de tester l'attribut "alias" :-)
ah bin voilà ...
lol, merci Patrick :)
-- Nicolas Michel
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1jfuo5p.14onzl4u4tx4wN%NicolasAlex.Michel.remove@epfl.ch>,
NicolasAlex.Michel.remove@epfl.ch (Nicolas Michel) wrote:
> Si tu as une série d'alias tu peux tester un truc de ce genre :
>
> find path -type f -exec GetFileInfo {} ; |grep -B2 ""MACS""
Si tu as GetFileInfo, le plus simple est de tester l'attribut "alias" :-)
OK. Je vais voir ça. Si je peux tester sans passer par osascript, c'est aussi bien. -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
Si tu as GetFileInfo, le plus simple est de tester l'attribut "alias" :-)
OK. Je vais voir ça. Si je peux tester sans passer par osascript, c'est
aussi bien.
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
OK. Je vais voir ça. Si je peux tester sans passer par osascript, c'est aussi bien. -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
blanc
Nicolas Michel wrote:
fdrp corresponds aux alias de dossier
Oups ! Comment n'y ai-je pas pensé !...
alis corresponds aux alias de fichiers Et il y a en plus hdsk qui corresponds aux raccourcis réseau, il me semble.
> > > > ou même rien du tout, suivant les cas. > > Cette liste n'est peut-être pas exhaustive. > > Dommage.
Sur le coup j'ai un doute, il me semble que j'ai fait un mauvais test et que le truc qui n'avais pas de type/creator n'était pas un alias en fait.
Si tu as une série d'alias tu peux tester un truc de ce genre :
La class "folder" ne fait pas partie intégrante d'AppleScript, elle est définie par le Finder. Il faut donc écrire :
tell application "Finder" to set d to folder "...."
Mais c'est bien sûr !... ;-)
Merci encore :-)
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
blanc
Patrick Stadelmann wrote:
> Selon la manière dont l'alias est référencé, il sera peut-être déjà > résolu quand le script le traitera !
Un fichier "alias" contient en fait un Alias Record, qui permet d'identifier le fichier même si on le déplace ou si on le renomme. Les Alias Record sont également utilisé par AppleScript pour identifier tout type de fichier ou dossier, par l'intermédiaire de la class "alias". C'est traditionnellement sous cette forme que les fichiers et dossiers sont connus dans AppleScript. Par exemple, la commande :
path to applications folder
renvoie un "alias" :
alias "Macintosh HD:Applications:"
bien que le dossier "Applications" soit un vrai dossier. Certaines manipulations pour e.g. identifier un fichier peuvent conduire l'alias a être résolu de manière transparente.
Autre cas typique, le drag and drop d'alias sur l'icône d'un applet AppleScript : le Finder effectue la résolution avant d'invoquer le script, celui-ci ne verra donc pas les alias.
D'accord. Donc finalement il vaut peut-être mieux que je fasse tout en shell-script (en utilisant GetFIleInfo) pour être sûr que l'alias n'est pas résolu. D'un autre côté connaître l'original (ce que permet AS) peut être intéressant.
> j'obtiens exactement la même liste d'alias et symlinks qu'avec ta > solution, sans avoir besoin de tester "original item".
La solution de Gérard ne permet pas de "reconnaître" un alias comme tu le demandais, mais seulement d'obtenir la liste des alias dans un dossier donné. C'est équivalent si tu dois traiter un dossier, mais pas s'il s'agit d'une liste de fichiers arbitraires, dans différents dossiers (e.g. résultat d'une recherche) qu'il faut filtrer.
Pour l'instant, oui, je donne le chemin du dossier en argument du shell-script, et en outre j'y détermine aussi la liste des fichiers du dossier, mais ce peut être fait dans l'AS. Donc c'est équivalent en effet. Mais ultérieurement j'envisage aussi de parcourir les sous-dossiers. Alors à voir ...
> Bon. Si personne ne me donne la solution pour distinguer les deux types, > finalement je ferai avec. Merci à vous trois.
Si, si c'est faisable. Il faut tester le champ "alias" de la structure retournée par la commande "info for". Ce champ n'est vrai que pour les vrais alias.
OK. Je vais regarder tout ça. Merci encore -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
> Selon la manière dont l'alias est référencé, il sera peut-être déjà
> résolu quand le script le traitera !
Un fichier "alias" contient en fait un Alias Record, qui permet
d'identifier le fichier même si on le déplace ou si on le renomme. Les
Alias Record sont également utilisé par AppleScript pour identifier tout
type de fichier ou dossier, par l'intermédiaire de la class "alias".
C'est traditionnellement sous cette forme que les fichiers et dossiers
sont connus dans AppleScript. Par exemple, la commande :
path to applications folder
renvoie un "alias" :
alias "Macintosh HD:Applications:"
bien que le dossier "Applications" soit un vrai dossier. Certaines
manipulations pour e.g. identifier un fichier peuvent conduire l'alias a
être résolu de manière transparente.
Autre cas typique, le drag and drop d'alias sur l'icône d'un applet
AppleScript : le Finder effectue la résolution avant d'invoquer le
script, celui-ci ne verra donc pas les alias.
D'accord. Donc finalement il vaut peut-être mieux que je fasse tout en
shell-script (en utilisant GetFIleInfo) pour être sûr que l'alias n'est
pas résolu. D'un autre côté connaître l'original (ce que permet AS) peut
être intéressant.
> j'obtiens exactement la même liste d'alias et symlinks qu'avec ta
> solution, sans avoir besoin de tester "original item".
La solution de Gérard ne permet pas de "reconnaître" un alias comme tu
le demandais, mais seulement d'obtenir la liste des alias dans un
dossier donné. C'est équivalent si tu dois traiter un dossier, mais pas
s'il s'agit d'une liste de fichiers arbitraires, dans différents
dossiers (e.g. résultat d'une recherche) qu'il faut filtrer.
Pour l'instant, oui, je donne le chemin du dossier en argument du
shell-script, et en outre j'y détermine aussi la liste des fichiers du
dossier, mais ce peut être fait dans l'AS. Donc c'est équivalent en
effet.
Mais ultérieurement j'envisage aussi de parcourir les sous-dossiers.
Alors à voir ...
> Bon. Si personne ne me donne la solution pour distinguer les deux types,
> finalement je ferai avec. Merci à vous trois.
Si, si c'est faisable. Il faut tester le champ "alias" de la structure
retournée par la commande "info for". Ce champ n'est vrai que pour les
vrais alias.
OK. Je vais regarder tout ça. Merci encore
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
> Selon la manière dont l'alias est référencé, il sera peut-être déjà > résolu quand le script le traitera !
Un fichier "alias" contient en fait un Alias Record, qui permet d'identifier le fichier même si on le déplace ou si on le renomme. Les Alias Record sont également utilisé par AppleScript pour identifier tout type de fichier ou dossier, par l'intermédiaire de la class "alias". C'est traditionnellement sous cette forme que les fichiers et dossiers sont connus dans AppleScript. Par exemple, la commande :
path to applications folder
renvoie un "alias" :
alias "Macintosh HD:Applications:"
bien que le dossier "Applications" soit un vrai dossier. Certaines manipulations pour e.g. identifier un fichier peuvent conduire l'alias a être résolu de manière transparente.
Autre cas typique, le drag and drop d'alias sur l'icône d'un applet AppleScript : le Finder effectue la résolution avant d'invoquer le script, celui-ci ne verra donc pas les alias.
D'accord. Donc finalement il vaut peut-être mieux que je fasse tout en shell-script (en utilisant GetFIleInfo) pour être sûr que l'alias n'est pas résolu. D'un autre côté connaître l'original (ce que permet AS) peut être intéressant.
> j'obtiens exactement la même liste d'alias et symlinks qu'avec ta > solution, sans avoir besoin de tester "original item".
La solution de Gérard ne permet pas de "reconnaître" un alias comme tu le demandais, mais seulement d'obtenir la liste des alias dans un dossier donné. C'est équivalent si tu dois traiter un dossier, mais pas s'il s'agit d'une liste de fichiers arbitraires, dans différents dossiers (e.g. résultat d'une recherche) qu'il faut filtrer.
Pour l'instant, oui, je donne le chemin du dossier en argument du shell-script, et en outre j'y détermine aussi la liste des fichiers du dossier, mais ce peut être fait dans l'AS. Donc c'est équivalent en effet. Mais ultérieurement j'envisage aussi de parcourir les sous-dossiers. Alors à voir ...
> Bon. Si personne ne me donne la solution pour distinguer les deux types, > finalement je ferai avec. Merci à vous trois.
Si, si c'est faisable. Il faut tester le champ "alias" de la structure retournée par la commande "info for". Ce champ n'est vrai que pour les vrais alias.
OK. Je vais regarder tout ça. Merci encore -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
g4fleurot
JiPaul wrote:
Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens : error "Erreur dans Finder : Il est impossible d'obtenir alias file of folder Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8 Je suis en MacOs X 10.6.2 Il y a dû y avoir des modifications entre les 2 versions. Il y a une semaine, on évoquait un point rouge surperflu dans les fenêtre de dialogue ouverte par AS avec cette dernière version.
Comme j'apprécie beaucoup le test de la validité de l'alias proposé par Patrick, je l'ai entegistré comme script et en lui rajoutant tell application "Finder" display dialog t buttons {"OK"} default button 1 end tell pour vérifier la validité des aliases d'un dossier, mais dans la fenêtre, j'ai toujours ce foutu point rouge de fermeture de fenêtre.
-- Gérard FLEUROT plus un
JiPaul <blanc@empty.org> wrote:
Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait
si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens :
error "Erreur dans Finder : Il est impossible d'obtenir alias file of
folder
Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8
Je suis en MacOs X 10.6.2
Il y a dû y avoir des modifications entre les 2 versions. Il y a une
semaine, on évoquait un point rouge surperflu dans les fenêtre de
dialogue ouverte par AS avec cette dernière version.
Comme j'apprécie beaucoup le test de la validité de l'alias proposé par
Patrick, je l'ai entegistré comme script et en lui rajoutant
tell application "Finder"
display dialog t buttons {"OK"} default button 1
end tell
pour vérifier la validité des aliases d'un dossier, mais dans la
fenêtre, j'ai toujours ce foutu point rouge de fermeture de fenêtre.
Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens : error "Erreur dans Finder : Il est impossible d'obtenir alias file of folder Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8 Je suis en MacOs X 10.6.2 Il y a dû y avoir des modifications entre les 2 versions. Il y a une semaine, on évoquait un point rouge surperflu dans les fenêtre de dialogue ouverte par AS avec cette dernière version.
Comme j'apprécie beaucoup le test de la validité de l'alias proposé par Patrick, je l'ai entegistré comme script et en lui rajoutant tell application "Finder" display dialog t buttons {"OK"} default button 1 end tell pour vérifier la validité des aliases d'un dossier, mais dans la fenêtre, j'ai toujours ce foutu point rouge de fermeture de fenêtre.
-- Gérard FLEUROT plus un
Patrick Stadelmann
In article <1jfupnv.2ie3yt7ahw0yN%, (Fleuger) wrote:
JiPaul wrote:
> Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait > si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens : error "Erreur dans Finder : Il est impossible d'obtenir alias file of folder Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8 Je suis en MacOs X 10.6.2
Je suis en 10.5.8 et j'ai le même comportement que toi. Avec "alias file" j'ai l'erreur que tu cites, et ça fonctionne avec "alias files". Le 's' n'est pas supprimé à la compilation.
On peut aussi utiliser la formulation "every alias file" pour expliciter le fait qu'on les veux tous. En principe, le compilateur corrige quand il y a manifestement une erreur :
every alias files --> every alias file first alias files --> first alias file alias file 1 thru 2 --> alias files 1 thru 2
Patrick -- Patrick Stadelmann
In article <1jfupnv.2ie3yt7ahw0yN%g4fleurot@free.fr>,
g4fleurot@free.fr (Fleuger) wrote:
JiPaul <blanc@empty.org> wrote:
> Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait
> si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens :
error "Erreur dans Finder : Il est impossible d'obtenir alias file of
folder
Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8
Je suis en MacOs X 10.6.2
Je suis en 10.5.8 et j'ai le même comportement que toi. Avec "alias
file" j'ai l'erreur que tu cites, et ça fonctionne avec "alias files".
Le 's' n'est pas supprimé à la compilation.
On peut aussi utiliser la formulation "every alias file" pour expliciter
le fait qu'on les veux tous. En principe, le compilateur corrige quand
il y a manifestement une erreur :
every alias files --> every alias file
first alias files --> first alias file
alias file 1 thru 2 --> alias files 1 thru 2
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1jfupnv.2ie3yt7ahw0yN%, (Fleuger) wrote:
JiPaul wrote:
> Au fait Gérard, je n'ai pas eu besoin de mettre de 's' à "file". En fait > si je mets un 's', le compilateur le supprime !...
Sans "s", j'obtiens : error "Erreur dans Finder : Il est impossible d'obtenir alias file of folder Probablement parce qu'il attend plusieurs aliases dans le dossier.
Je vois que tu es en MacOs X 10.5.8 Je suis en MacOs X 10.6.2
Je suis en 10.5.8 et j'ai le même comportement que toi. Avec "alias file" j'ai l'erreur que tu cites, et ça fonctionne avec "alias files". Le 's' n'est pas supprimé à la compilation.
On peut aussi utiliser la formulation "every alias file" pour expliciter le fait qu'on les veux tous. En principe, le compilateur corrige quand il y a manifestement une erreur :
every alias files --> every alias file first alias files --> first alias file alias file 1 thru 2 --> alias files 1 thru 2
Patrick -- Patrick Stadelmann
blanc
Patrick Stadelmann wrote:
On peut aussi utiliser la formulation "every alias file" pour expliciter le fait qu'on les veux tous.
Ben voilà :-) C'est cette formule que j'ai en fait utilisée !...
Donc quand on les veut tous, il faut pas d's et quand on en veut qu'un (le premier) il faut un 's'... C'est logique ;-) -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
On peut aussi utiliser la formulation "every alias file" pour expliciter
le fait qu'on les veux tous.
Ben voilà :-) C'est cette formule que j'ai en fait utilisée !...
Donc quand on les veut tous, il faut pas d's et quand on en veut qu'un
(le premier) il faut un 's'... C'est logique ;-)
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
On peut aussi utiliser la formulation "every alias file" pour expliciter le fait qu'on les veux tous.
Ben voilà :-) C'est cette formule que j'ai en fait utilisée !...
Donc quand on les veut tous, il faut pas d's et quand on en veut qu'un (le premier) il faut un 's'... C'est logique ;-) -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE