Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un Applescript ou un shell-script.
Qu'en est-il pour un lien symbolique (symlink) ? Je pense que je saurai faire en shell script, mais en Applescript ?
Salut
Par alias tu veux dire un raccourcis hfs ?
Applescript, je ne connais pas.
En bash, les alias ne sont pas utilisable. Ils sont légers et ont des resources non vides
if [ -d "$dossier" ] te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
GetFileInfo retournera une info de ce type : type: "fdrp" creator: "MACS"
ou encore : type: "alis" creator: "MACS"
ou même rien du tout, suivant les cas. Cette liste n'est peut-être pas exhaustive.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ] te dira oui si c'est un symlink
La commande find peut les trouver : find "path" -type l
Et enfin tu pourrais les rechercher via un ls -l ça commencera par un l genre : lrwxr-xr-x
Sinon il y a aussi des alias dns et des alias de commandes bash, entre autres alias. Mais vu que tu parles de symlink, je suppose que tu parles d'alias de fichiers :)
-- Nicolas Michel
JiPaul <blanc@empty.org> wrote:
Bonjour à tous,
Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un
Applescript ou un shell-script.
Qu'en est-il pour un lien symbolique (symlink) ? Je pense que je saurai
faire en shell script, mais en Applescript ?
Salut
Par alias tu veux dire un raccourcis hfs ?
Applescript, je ne connais pas.
En bash, les alias ne sont pas utilisable.
Ils sont légers et ont des resources non vides
if [ -d "$dossier" ]
te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
GetFileInfo retournera une info de ce type :
type: "fdrp"
creator: "MACS"
ou encore :
type: "alis"
creator: "MACS"
ou même rien du tout, suivant les cas.
Cette liste n'est peut-être pas exhaustive.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ]
te dira oui si c'est un symlink
La commande find peut les trouver :
find "path" -type l
Et enfin tu pourrais les rechercher via un ls -l
ça commencera par un l genre :
lrwxr-xr-x
Sinon il y a aussi des alias dns et des alias de commandes bash, entre
autres alias. Mais vu que tu parles de symlink, je suppose que tu parles
d'alias de fichiers :)
Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un Applescript ou un shell-script.
Qu'en est-il pour un lien symbolique (symlink) ? Je pense que je saurai faire en shell script, mais en Applescript ?
Salut
Par alias tu veux dire un raccourcis hfs ?
Applescript, je ne connais pas.
En bash, les alias ne sont pas utilisable. Ils sont légers et ont des resources non vides
if [ -d "$dossier" ] te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
GetFileInfo retournera une info de ce type : type: "fdrp" creator: "MACS"
ou encore : type: "alis" creator: "MACS"
ou même rien du tout, suivant les cas. Cette liste n'est peut-être pas exhaustive.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ] te dira oui si c'est un symlink
La commande find peut les trouver : find "path" -type l
Et enfin tu pourrais les rechercher via un ls -l ça commencera par un l genre : lrwxr-xr-x
Sinon il y a aussi des alias dns et des alias de commandes bash, entre autres alias. Mais vu que tu parles de symlink, je suppose que tu parles d'alias de fichiers :)
-- Nicolas Michel
g4fleurot
JiPaul wrote:
Y a-t-il un moyen de reconnaitre un alias dans un script
Pour Apple script, c'est "alias file", dans le dictionnaire Finder ouvert dans l'Éditeur AppleScript)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias files) pour que ça fonctionne.
exemple : tell application "Finder" open alias files of folder "Users:XX:xx" of startup disk end tell
-- Gérard FLEUROT plus un
JiPaul <blanc@empty.org> wrote:
Y a-t-il un moyen de reconnaitre un alias dans un script
Pour Apple script, c'est "alias file", dans le dictionnaire Finder
ouvert dans l'Éditeur AppleScript)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias
files) pour que ça fonctionne.
exemple :
tell application "Finder"
open alias files of folder "Users:XX:xx" of startup disk
end tell
Y a-t-il un moyen de reconnaitre un alias dans un script
Pour Apple script, c'est "alias file", dans le dictionnaire Finder ouvert dans l'Éditeur AppleScript)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias files) pour que ça fonctionne.
exemple : tell application "Finder" open alias files of folder "Users:XX:xx" of startup disk end tell
-- Gérard FLEUROT plus un
blanc
Nicolas Michel wrote:
Par alias tu veux dire un raccourcis hfs ?
Oui. Un alias au sens de Mac OS X
Applescript, je ne connais pas.
En bash, les alias ne sont pas utilisables
ça, je sais
Ils sont légers et ont des resources non vides
if [ -d "$dossier" ] te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
GetFileInfo retournera une info de ce type : type: "fdrp" creator: "MACS"
ou encore : type: "alis" creator: "MACS"
Je comprends le deuxième, mais le premier ?
ou même rien du tout, suivant les cas. Cette liste n'est peut-être pas exhaustive.
Dommage.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ] te dira oui si c'est un symlink
La commande find peut les trouver : find "path" -type l
OK.
Et enfin tu pourrais les rechercher via un ls -l ça commencera par un l genre : lrwxr-xr-x
Oui. Je n'avais pas pensé à -L dans test. Et je pense que j'aurais utilisé cette dernière poss.
Sinon il y a aussi des alias dns et des alias de commandes bash, entre autres alias. Mais vu que tu parles de symlink, je suppose que tu parles d'alias de fichiers :)
Oui, oui.
Merci de ta réponse :-) -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Nicolas Michel <NicolasAlex.Michel.remove@epfl.ch> wrote:
Par alias tu veux dire un raccourcis hfs ?
Oui. Un alias au sens de Mac OS X
Applescript, je ne connais pas.
En bash, les alias ne sont pas utilisables
ça, je sais
Ils sont légers et ont des resources non vides
if [ -d "$dossier" ]
te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
GetFileInfo retournera une info de ce type :
type: "fdrp"
creator: "MACS"
ou encore :
type: "alis"
creator: "MACS"
Je comprends le deuxième, mais le premier ?
ou même rien du tout, suivant les cas.
Cette liste n'est peut-être pas exhaustive.
Dommage.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ]
te dira oui si c'est un symlink
La commande find peut les trouver :
find "path" -type l
OK.
Et enfin tu pourrais les rechercher via un ls -l
ça commencera par un l genre :
lrwxr-xr-x
Oui. Je n'avais pas pensé à -L dans test. Et je pense que j'aurais
utilisé cette dernière poss.
Sinon il y a aussi des alias dns et des alias de commandes bash, entre
autres alias. Mais vu que tu parles de symlink, je suppose que tu parles
d'alias de fichiers :)
Oui, oui.
Merci de ta réponse :-)
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
if [ -d "$dossier" ] te dira que c'est pas un dossier.
ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
GetFileInfo retournera une info de ce type : type: "fdrp" creator: "MACS"
ou encore : type: "alis" creator: "MACS"
Je comprends le deuxième, mais le premier ?
ou même rien du tout, suivant les cas. Cette liste n'est peut-être pas exhaustive.
Dommage.
Pour les symlink, la commande test les connais :
if [ -L "$dossier" ] te dira oui si c'est un symlink
La commande find peut les trouver : find "path" -type l
OK.
Et enfin tu pourrais les rechercher via un ls -l ça commencera par un l genre : lrwxr-xr-x
Oui. Je n'avais pas pensé à -L dans test. Et je pense que j'aurais utilisé cette dernière poss.
Sinon il y a aussi des alias dns et des alias de commandes bash, entre autres alias. Mais vu que tu parles de symlink, je suppose que tu parles d'alias de fichiers :)
Oui, oui.
Merci de ta réponse :-) -- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
blanc
Fleuger wrote:
Pour Apple script, c'est "alias file", dans le dictionnaire Finder ouvert dans l'Éditeur AppleScript)
OK. Merci :-)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias files) pour que ça fonctionne.
Bah... une faute d'orthographe, sans doute ...
Ou alors un 's' pour que ce soit utilisable au pluriel. Ce dernier ayant le bénéfice du nombre l'emporte alors sur le singulier ;-)
exemple : tell application "Finder" open alias files of folder "Users:XX:xx" of startup disk end tell
Bon. Alors il va falloir que je fasse la conversion depuis le chemin Unix ;-(
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Fleuger <g4fleurot@free.fr> wrote:
Pour Apple script, c'est "alias file", dans le dictionnaire Finder
ouvert dans l'Éditeur AppleScript)
OK. Merci :-)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias
files) pour que ça fonctionne.
Bah... une faute d'orthographe, sans doute ...
Ou alors un 's' pour que ce soit utilisable au pluriel. Ce dernier ayant
le bénéfice du nombre l'emporte alors sur le singulier ;-)
exemple :
tell application "Finder"
open alias files of folder "Users:XX:xx" of startup disk
end tell
Bon. Alors il va falloir que je fasse la conversion depuis le chemin
Unix ;-(
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
Pour Apple script, c'est "alias file", dans le dictionnaire Finder ouvert dans l'Éditeur AppleScript)
OK. Merci :-)
Cependant, je ne comprend pas pourquoi il faut mettre un "s" (alias files) pour que ça fonctionne.
Bah... une faute d'orthographe, sans doute ...
Ou alors un 's' pour que ce soit utilisable au pluriel. Ce dernier ayant le bénéfice du nombre l'emporte alors sur le singulier ;-)
exemple : tell application "Finder" open alias files of folder "Users:XX:xx" of startup disk end tell
Bon. Alors il va falloir que je fasse la conversion depuis le chemin Unix ;-(
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Patrick Stadelmann
In article <1jft1jw.1wbc37ujqtlz4N%, (JiPaul) wrote:
Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un Applescript ou un shell-script.
Selon la manière dont l'alias est référencé, il sera peut-être déjà résolu quand le script le traitera ! Si ce n'est pas le cas, une méthode consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier choisis. Cela inclus les "vrais" alias et les liens symboliques :
set d to choose folder set t to "" tell application "Finder" set f to every item of d repeat with i in f try get original item of i set t to t & name of i & return end try end repeat end tell t
Patrick -- Patrick Stadelmann
In article <1jft1jw.1wbc37ujqtlz4N%blanc@empty.org>,
blanc@empty.org (JiPaul) wrote:
Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un
Applescript ou un shell-script.
Selon la manière dont l'alias est référencé, il sera peut-être déjà
résolu quand le script le traitera ! Si ce n'est pas le cas, une méthode
consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier
choisis. Cela inclus les "vrais" alias et les liens symboliques :
set d to choose folder
set t to ""
tell application "Finder"
set f to every item of d
repeat with i in f
try
get original item of i
set t to t & name of i & return
end try
end repeat
end tell
t
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1jft1jw.1wbc37ujqtlz4N%, (JiPaul) wrote:
Y a-t-il un moyen de reconnaitre un alias dans un script, que ce soit un Applescript ou un shell-script.
Selon la manière dont l'alias est référencé, il sera peut-être déjà résolu quand le script le traitera ! Si ce n'est pas le cas, une méthode consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier choisis. Cela inclus les "vrais" alias et les liens symboliques :
set d to choose folder set t to "" tell application "Finder" set f to every item of d repeat with i in f try get original item of i set t to t & name of i & return end try end repeat end tell t
Patrick -- Patrick Stadelmann
blanc
Merci de ta réponse, Patrick.
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 !
Hum, pas clair...
Si ce n'est pas le cas, une méthode consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier choisis. Cela inclus les "vrais" alias et les liens symboliques :
Cela ne me satisfait pas tout à fait. Je voudrais pouvoir les distinguer.
Mon but est de remplacer de vrais alias par des liens physiques (ou de façon optionnelle symboliques).
En fait j'ai déjà réalisé un script shell qui parcours un dossier, et pour chaque fichier, vérifie l'existence d'un fichier de même nom dans un dossier d'originaux. Si c'est le cas, le fichier initial (censé être un alias) est supprimé et remplacé par un lien physique vers l'original. Mais pour des raisons de sécurité, je voudrais que le remplacement ne se fasse que si le fichier est un vrai alias.
Si je mets de côté la distinction entre alias et symlinks, ta solution me conviendrait.
En fait, après avoir testé, elle est complètement équivalente à la solution de Gérard. C'est-à-dire que si j'écris le script suivant :
set d to choose folder set t to "" tell application "Finder" set f to every alias file of d repeat with i in f set t to t & name of i & return end repeat end tell t
j'obtiens exactement la même liste d'alias et symlinks qu'avec ta solution, sans avoir besoin de tester "original item".
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 !...
Bon. Si personne ne me donne la solution pour distinguer les deux types, finalement je ferai avec. Merci à vous trois.
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
Merci de ta réponse, Patrick.
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 !
Hum, pas clair...
Si ce n'est pas le cas, une méthode
consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier
choisis. Cela inclus les "vrais" alias et les liens symboliques :
Cela ne me satisfait pas tout à fait. Je voudrais pouvoir les
distinguer.
Mon but est de remplacer de vrais alias par des liens physiques (ou de
façon optionnelle symboliques).
En fait j'ai déjà réalisé un script shell qui parcours un dossier, et
pour chaque fichier, vérifie l'existence d'un fichier de même nom dans
un dossier d'originaux. Si c'est le cas, le fichier initial (censé être
un alias) est supprimé et remplacé par un lien physique vers l'original.
Mais pour des raisons de sécurité, je voudrais que le remplacement ne se
fasse que si le fichier est un vrai alias.
Si je mets de côté la distinction entre alias et symlinks, ta solution
me conviendrait.
En fait, après avoir testé, elle est complètement équivalente à la
solution de Gérard. C'est-à-dire que si j'écris le script suivant :
set d to choose folder
set t to ""
tell application "Finder"
set f to every alias file of d
repeat with i in f
set t to t & name of i & return
end repeat
end tell
t
j'obtiens exactement la même liste d'alias et symlinks qu'avec ta
solution, sans avoir besoin de tester "original item".
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 !...
Bon. Si personne ne me donne la solution pour distinguer les deux types,
finalement je ferai avec. Merci à vous trois.
--
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 !
Hum, pas clair...
Si ce n'est pas le cas, une méthode consiste à tester si la propriété "original item" existe pour l'élément.
Après exécution, la variable t contient les noms des alias du dossier choisis. Cela inclus les "vrais" alias et les liens symboliques :
Cela ne me satisfait pas tout à fait. Je voudrais pouvoir les distinguer.
Mon but est de remplacer de vrais alias par des liens physiques (ou de façon optionnelle symboliques).
En fait j'ai déjà réalisé un script shell qui parcours un dossier, et pour chaque fichier, vérifie l'existence d'un fichier de même nom dans un dossier d'originaux. Si c'est le cas, le fichier initial (censé être un alias) est supprimé et remplacé par un lien physique vers l'original. Mais pour des raisons de sécurité, je voudrais que le remplacement ne se fasse que si le fichier est un vrai alias.
Si je mets de côté la distinction entre alias et symlinks, ta solution me conviendrait.
En fait, après avoir testé, elle est complètement équivalente à la solution de Gérard. C'est-à-dire que si j'écris le script suivant :
set d to choose folder set t to "" tell application "Finder" set f to every alias file of d repeat with i in f set t to t & name of i & return end repeat end tell t
j'obtiens exactement la même liste d'alias et symlinks qu'avec ta solution, sans avoir besoin de tester "original item".
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 !...
Bon. Si personne ne me donne la solution pour distinguer les deux types, finalement je ferai avec. Merci à vous trois.
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
blanc
JiPaul wrote:
set d to choose folder set t to "" tell application "Finder" set f to every alias file of d repeat with i in f set t to t & name of i & return end repeat end tell t
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é ?
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
JiPaul <blanc@empty.org> wrote:
set d to choose folder
set t to ""
tell application "Finder"
set f to every alias file of d
repeat with i in f
set t to t & name of i & return
end repeat
end tell
t
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é ?
--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
set d to choose folder set t to "" tell application "Finder" set f to every alias file of d repeat with i in f set t to t & name of i & return end repeat end tell t
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é ?
-- JiPaul. / /--/--// Jean-Paul Blanc |/| L | quelquepart en (somewhere in) /|| = ||| FRANCE
NicolasAlex.Michel.remove
JiPaul wrote:
Nicolas Michel wrote:
> Ils sont légers et ont des resources non vides > > if [ -d "$dossier" ] > te dira que c'est pas un dossier. > > ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
Peut-être une piste pour un test concrêt :
Il me semble que le contennu des alias commencent systématiquement par :
b o o k m a r k
(résultat de hexdump -c < alias )
strings retourne systématiquement book mark aux 2 premières lignes.
> > GetFileInfo retournera une info de ce type : > type: "fdrp" > creator: "MACS" > > ou encore : > type: "alis" > creator: "MACS"
Je comprends le deuxième, mais le premier ?
fdrp corresponds aux alias de dossier 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 :
#!/bin/bash IFS=' ' for i in `find . -type f` do echo $i hexdump -c "$i" |head -n1 done |grep -B1 -e "b o o k "
check les différences entre les 2 et regarde si ça corresponds à tes alias pour de vrais ...
Après, suivant le type de fs je ne sais pas comment se comporte les resources et les alias -- Nicolas Michel
JiPaul <blanc@empty.org> wrote:
Nicolas Michel <NicolasAlex.Michel.remove@epfl.ch> wrote:
> Ils sont légers et ont des resources non vides
>
> if [ -d "$dossier" ]
> te dira que c'est pas un dossier.
>
> ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
Peut-être une piste pour un test concrêt :
Il me semble que le contennu des alias commencent systématiquement par :
b o o k m a r k
(résultat de hexdump -c < alias )
strings retourne systématiquement
book
mark
aux 2 premières lignes.
>
> GetFileInfo retournera une info de ce type :
> type: "fdrp"
> creator: "MACS"
>
> ou encore :
> type: "alis"
> creator: "MACS"
Je comprends le deuxième, mais le premier ?
fdrp corresponds aux alias de dossier
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 :
> Ils sont légers et ont des resources non vides > > if [ -d "$dossier" ] > te dira que c'est pas un dossier. > > ls -lh "$dossier/rsrc" doit retourner une taille positive
Hélas pas suffisamment caractéristique àmha.
Peut-être une piste pour un test concrêt :
Il me semble que le contennu des alias commencent systématiquement par :
b o o k m a r k
(résultat de hexdump -c < alias )
strings retourne systématiquement book mark aux 2 premières lignes.
> > GetFileInfo retournera une info de ce type : > type: "fdrp" > creator: "MACS" > > ou encore : > type: "alis" > creator: "MACS"
Je comprends le deuxième, mais le premier ?
fdrp corresponds aux alias de dossier 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 :
#!/bin/bash IFS=' ' for i in `find . -type f` do echo $i hexdump -c "$i" |head -n1 done |grep -B1 -e "b o o k "
check les différences entre les 2 et regarde si ça corresponds à tes alias pour de vrais ...
Après, suivant le type de fs je ne sais pas comment se comporte les resources et les alias -- Nicolas Michel
Patrick Stadelmann
In article <1jfulau.kk7b2hyfz8ogN%, (JiPaul) 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.
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.
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 !...
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.
set d to choose folder set t to "" tell application "Finder" set f to every item of d repeat with i in f try get original item of i set t to t & name of i if (alias of (info for i as alias) is true) then set t to t & " : alias" else set t to t & " : symlink" end if set t to t & return end try end repeat end tell t
Patrick -- Patrick Stadelmann
In article <1jfulau.kk7b2hyfz8ogN%blanc@empty.org>,
blanc@empty.org (JiPaul) 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.
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.
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 !...
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.
set d to choose folder
set t to ""
tell application "Finder"
set f to every item of d
repeat with i in f
try
get original item of i
set t to t & name of i
if (alias of (info for i as alias) is true) then
set t to t & " : alias"
else
set t to t & " : symlink"
end if
set t to t & return
end try
end repeat
end tell
t
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1jfulau.kk7b2hyfz8ogN%, (JiPaul) 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.
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.
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 !...
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.
set d to choose folder set t to "" tell application "Finder" set f to every item of d repeat with i in f try get original item of i set t to t & name of i if (alias of (info for i as alias) is true) then set t to t & " : alias" else set t to t & " : symlink" end if set t to t & return end try end repeat end tell t
Patrick -- Patrick Stadelmann
Patrick Stadelmann
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. Il faut donc écrire :
tell application "Finder" to set d to folder "...."
Patrick -- Patrick Stadelmann
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. Il faut donc écrire :
tell application "Finder" to set d to folder "...."
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>