Obtaining the size of a file
Jim Ault
JimAultWins at yahoo.com
Sat Apr 21 04:14:07 EDT 2007
perhaps an applescript that did the whole list and returned one list as a
result... only one handoff.
Jim Ault
Las Vegas
On 4/21/07 12:17 AM, "John Craig" <jc at spl21.net> wrote:
> Thanks for the replies, everyone. I've written several handlers in the
> past for things only to discover later that there is a command that does
> the task in a one liner - I just never found it in the docs - so I
> thought I'd ask.
>
> I'm recursing through a (sometimes large) list of files and folders
> which can take a while, so I was trying to avoid another function call
> per line.
>
> JC
>
> Josh Mellicker wrote:
>> Here are a couple of handlers that return the "humanSize" (a nicely
>> formatted version) of a file provided the complete file path and
>> filename:
>>
>>
>> put humanSize(tPathAndFile) into fld "file size"
>>
>>
>> FUNCTION humanSize tPathAndFile
>> put theFileDetail(tPathAndFile) into tFileDet
>> put item 2 of tFileDet + item 3 of tFileDet into tSize
>> IF tSize > 1000000 THEN
>> set the numberformat to "##.##"
>> return tSize/1000000 & " MB"
>> ELSE
>> set the numberformat to "##"
>> return tSize/1000 & " KB"
>> END IF
>> END humanSize
>>
>> FUNCTION theFileDetail tPathAndFile
>> set the itemdel to "/"
>> put item -1 of tPathAndFile into tFile
>> delete item -1 of tPathAndFile
>> put "/" after tPathAndFile
>> set the defaultfolder to tPathAndFile
>> put the detailed files into tFiles
>> filter tFiles with urlencode(tFile) & comma & "*"
>> return tFiles
>> END theFileDetail
>>
>>
>> These only took a few days to write, I am not quite as fast as Richard
>> :-)
>>
>> On Apr 20, 2007, at 7:02 PM, Richard Gaskin wrote:
>>
>>> John Craig wrote:
>>>
>>>> Richard Gaskin wrote:
>>>>> John Craig wrote:
>>>>>> Does anyone know of a native rev. method to obtain the size of a
>>>>>> file without using shell or 'the detailed files'?
>>>>>
>>>>> What's the objection to using 'the detailed files'?
>>>>>
>>>>> It was added to the language specifically to provide what you're
>>>>> looking for.
>>>>>
>>>> It's clumsy and long winded.
>>>
>>> Revolution allows you to write your own custom commands and
>>> functions, so you can get the exact info you want in a call as simple
>>> as:
>>>
>>> get FileSize(pFilePath)
>>>
>>>
>>> Since it only takes a minute to write the dozen or so lines needed,
>>> I'll go ahead and do that for you:
>>>
>>> function FileSize pPath
>>> set the itemdel to "/"
>>> put urlEncode(last item of pPath) into tShortFileName
>>> delete last item of pPath
>>> put the directory into tSaveDir
>>> set the directory to pPath
>>> put the detailed files into tFiles
>>> set the directory to tSaveDir
>>> set the itemdel to comma
>>> put lineoffset( cr&tShortFileName&comma, cr&tFiles) into tLineNum
>>> if tLineNum > 0 then
>>> put line tLineNum of tFiles into tLine
>>> return item 2 of tLine + item 3 of tLine
>>> end if
>>> end FileSize
>>>
>>>
>>> Now you can drop than handy function into a library somewhere and use
>>> it whenever you need it.
>>>
>>> -- Richard Gaskin
>>> Fourth World Media Corporation
>>> ___________________________________________________________
>>> Ambassador at FourthWorld.com http://www.FourthWorld.com
>>> _______________________________________________
>>> use-revolution mailing list
>>> use-revolution at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list