Re: When is a file open but not open?
Re: When is a file open but not open?
- Subject: Re: When is a file open but not open?
- From: "John Jones" <email@hidden>
- Date: Thu, 04 Aug 2005 16:28:10 -0400
Title: Re: When is a file open but not open?
Thanks Paul,
It's not permission problem in the file or directory, the script routinely writes to that directory or other files in that directory. There's something going on somewhere else with a specific file. If I move the file to the trash the system won't let me delete it because it thinks the file is busy.
John
>>> Paul Berkowitz <email@hidden> 8/4/2005 4:11:47 PM >>>
If there's really a problem in simply trying to 'open for access' (it might not be a 'with write permission' problem due to an open file, but rather to NO permissions in that directory), there's a possibility that then trying to 'close access' in the error block will itself error. So you're probably better doing:
set path_name to (path to desktop) as string set file_name to path_name & "MyChangeLog.log" try set this_file to open for access file file_name with write permission on error try close access file file_name end try display dialog ("Problem opening log file") return end try
and the same in the other similar parts of the script.
-- Paul Berkowitz
From: <email@hidden> Date: Thu, 4 Aug 2005 20:50:43 +0100 To: <email@hidden> Cc: John Jones <email@hidden> Subject: Re: When is a file open but not open?
Hi John,
> The problem is that occasionally the finder will get confused and think the file is open. > Is there anything I can do to force it closed?
I has a similar problem just last week. This is the script I came up with and it worked fine for me. I'm not taking any credit - the 'try - on error - end try' code came from Matt Neuburg's book (pp 344 and 345) together with gems from others on this list!
----------
global this_file
-- Create / open the file set path_name to (path to desktop) as string set file_name to path_name & "MyChangeLog.log" try set this_file to open for access file file_name with write permission on error close access file file_name display dialog ("Problem opening log file") return end try
-- Clear any existing data and write the start time try set eof this_file to 0 -- Erase file if it exists write_line("Starting at " & (current date) & return) on error close access file file_name display dialog ("Error writing to file log (1)") end try
-- Do your stuff here, probably in a loop
-- Create your log message set this_name to "MyFile.jpg" set log_message to "Done stuff with " & this_name & return set log_message to log_message & "Updated: " & "MyOtherFile.jpg" & return & "---------" & return
-- Append the log message to the file try write_line(log_message) on error close access file file_name display dialog ("Error writing to file log (2)") end try
-- End of your stuff loop
-- Write the end time and close the file try write_line("Ending at " & (current date)) close access file file_name on error close access file file_name display dialog ("Error writing to file log (2)") end try
-- This sub-routine simply writes a string to the file with a return appended on write_line(the_string) write the_string & return as string to this_file end write_line
----------------
Hope it helps,
Andrew
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Applescript-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden