Hi Silversleeves,
what’s about using a handler to specify the volume.
Values stored in top level properties are persistent until the script will be recompiled.
At first start you will asked to choose a volume with your criteria if more than one is available,
otherwise the single volume is taken automatically, or you get an error message, if none is mounted.
Next start the saved volume will be recognized at once.
property theVolume : ""
if check_Volume() is false then return
on check_Volume()
tell application "System Events" to set diskList to name of disks whose capacity < 1.0E+10 and ejectable is true and local volume is true and format is not audio format
if theVolume is "" or theVolume is not in diskList then
if (count diskList) is 0 then
display dialog "No volumes found" buttons {"OK"} default button 1 with icon stop giving up after 3
set theVolume to false
return
else if (count diskList) is 1 then
set theVolume to item 1 of diskList
else
repeat
set theVolume to choose from list diskList with prompt "Choose volume"
if theVolume is not false then
set theVolume to item 1 of diskList
exit repeat
end if
end repeat
end if
end if
return theVolume
end check_Volume