• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: POSIX paths query
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: POSIX paths query


  • Subject: Re: POSIX paths query
  • From: Paul Berkowitz <email@hidden>
  • Date: Wed, 08 Oct 2003 09:25:30 -0700

On 10/8/03 8:23 AM, "Steve Thompson" <email@hidden> wrote:

> I have this script:
>
> set temp to "Server:Master Database:to be Databased:AUGUST IMAGE
> UPLOADS - No17:layouts:161999-Image.eps"
> set test to quoted form of POSIX path of (temp)
> tell application "Finder"
> exists file temp
> exists file test
> end tell
>
> And the output is
>
> tell application "Finder"
> exists file "Server:Master Database:to be Databased:AUGUST IMAGE
> UPLOADS - No17:layouts:161999-Image.eps"
> --> true
> exists file "'/Volumes/Server/Master Database/to be Databased/AUGUST
> IMAGE UPLOADS - No17/layouts/161999-Image.eps'"
> --> false
> end tell
>
> So it exists in HFS format but not in POSIX format. Can anyone explain
> to me why that is and how to stop it? I need to check if the file
> exists on this server (mounted as an NFS volume) before I ditto a file
> on to it, purely to save time (don't want to copy a file if it's
> already there as it's over an slow DSL line).


set temp to "Server:Master Database:to be Databased:AUGUST IMAGE UPLOADS
- No17:layouts:161999-Image.eps"
set test to POSIX path of (temp)
tell application "Finder"
exists file temp
--> true
exists file (POSIX file test as Unicode text)
--> true
end tell


Or you could do it this way:

set temp to "Server:Master Database:to be Databased:AUGUST IMAGE UPLOADS
- No17:layouts:161999-Image.eps"
set test to POSIX path of (temp)
try
get alias temp
set bool to true
on error
set bool to false
end try
--> true
try
get (POSIX file test) as alias
set bool to true
on error
set bool to false
end try
--> true


So:

1) Don't use 'quoted form': that's just for 'do shell script'.

2) The Finder's 'file' object is different from AppleScript's 'file' (not to
mention that the 'file' produced by 'POSIX file' may be something else
again.)

3) The Finder can coerce AppleScript (colon-delimited) file paths into its
hierarchial file objects (file "a" of folder "b" of folder "c" of disk "d")
by sticking 'file' in front of the file path: but first you need a
colon-delimited path to give it.

4) 'POSIX file' creates that odd 'file' thing, which creates an error, but
'POSIX file as Unicode text' will give the colon-delimted file path, which
the Finder can use.

5) Or you can just test for the existence of 'alias file:path' without
involving the Finder if you prefer.


--
Paul Berkowitz
_______________________________________________
applescript-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/applescript-users
Do not post admin requests to the list. They will be ignored.

References: 
 >POSIX paths query (From: Steve Thompson <email@hidden>)

  • Prev by Date: Scripting enhancments in Photoshop CS?
  • Next by Date: Re: POSIX paths query explained better
  • Previous by thread: Re: POSIX paths query
  • Next by thread: Scripting enhancments in Photoshop CS?
  • Index(es):
    • Date
    • Thread