Script Library: 1238 scripts
 

file.r

REBOL [ Title: "File" Date: 11-Aug-2002 Name: 'File Version: 1.3.0 File: %file.r Author: "Andrew Martin" Purpose: "File and URL manipulation functions." eMail: %Al--Bri--xtra--co--nz Web: http://valley.150m.com Acknowledgements: [ "Romano Paolo Tenca" ] library: [ level: 'beginner platform: none type: 'tool domain: none tested-under: none support: none license: none see-also: none ] ] Extension?: Suffix?: function [File [url! file! string!]] [Ext] [ parse/all File [ some [thru #"."] [ thru #"/" | Ext: to end ( Ext: to file! back Ext ) ] ] Ext ] Name?: function [ {Returns the name of the path as a string.} Path [file! url!] ] [Name Period] [ Name: last parse/all Path "/" either any [ #"/" = last Path not found? Period: find/last Name #"." ] [ Name ] [ copy/part Name Period ] ] Folder?: function [ "Returns the path's folder or enclosing directory." Path [file! url!] ] [Name] [ all [ Name: find/last Path Name? Path Path: copy/part Path Name either empty? Path [none] [Path] ] ] Extension: function [ "Changes the extension of the path to the specified extension." Path [file! url!] Ext [file!] "Like: %.txt" ] [Dot] [ all [ Dot: any [find/last Path #"." tail Path] not find Dot #"/" clear Dot append Path Ext ] ] Clear_Extension: function [ "Clears the extension of a path." Path [file! url!] "The path to clear the extension." ] [Extension] [ all [ Extension: find/last Path #"." not find Extension #"/" clear Extension ] Path ]
halt ;; to terminate script if DO'ne from webpage
Notes
  • email address(es) have been munged to protect them from spam harvesters. If you are a Library member, you can log on and view this script without the munging.
  • (Al:Bri:xtra:co:nz)