Thanks Karl, I didn't notice your post until later today.
I spent quite a bit of time on friday and saturday researching for my problem solution. Came across this Apple tech note, which helped some.
http://developer.apple.com/library/mac/#technotes/tn2065/_index.html
Then I wrote following code to see if it will work:
set cfgfolder to choose folder with prompt "Choose the Configs folder:
+" default location alias "MacHD:Folder1:Folder2:Configs:"
set cfgposix to POSIX path of cfgfolder
set sourcefolder to choose folder with prompt "Choose the source fold
+er:" default location alias "MacHD:Folder3:Folder4"
set sourceposix to POSIX path of sourcefolder
set targetfolder to choose folder with prompt "Choose the Target folde
+r location:" default location alias "MacHD:TargetFolder"
set targetposix to POSIX path of targetfolder
do shell script "/usr/bin/perl /PathToPerlScript &> '/Logs/Reprocesslo
+g.txt'" & " -t " & targetposix & " -s " & sourceposix & "-c" & cfgpos
+ix
set nextdate to do shell script "date" & " +%y%m%d_%H%M%S"
# some more code will go here to open the log file in console, so that
+ one can see the log updates in real time.
Now, I can pass the arguments to my script, but it doesn't run in background. Hence, the next AppleScript statement doesn't execute until the perl script finishes execution.
Since, then I have tried several quote combinations to make it work and I thought, I succeeded yesterday night but today morning, couldn't figure out what I did that made it work.
Now, after several trials, I only face two outcomes:
Either perl script runs in background(but doesn't accept the arguments passed to it) or it accepts the arguments passed to it, but doesn't run in background.
Have hit a roadblock.
Also, there is one more challenge with this method and that is I can run multiple instances of this script and each instance will create it's own log file.
I want to be able to kill/stop any instance out of the several running ones. Challenge is how to do to it via Applescript so that user can select the exact instance that they want to stop.
Any help/advice from anyone is appreciated.
Thanks.
PS: My perl script is not using Getopt:Long as of now, but I will look into it. |