Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
Training
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages
Videos
Adventures
Links

Shopping Cart
Shopping Cart

Search:

Free Newsletter
Signup


Contact


Privacy Policy



FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

 

 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

GetFileName ( FullName )

Rate this function:  

RatingRatingRatingRatingRating
  Average rating: 3.6  (50 votes)
  Discuss this Custom Function

William Donelson, Mine
http://www.none.com

Extracts Filename from the Full Path Name

Sample Input:
file:../../Documents and Settings/Bill/My Documents/Book1.pdf
Sample Output:
Book1.pdf


 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Description:

Extracts Filename from the Full Path Name

Dependencies : None

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

Discuss:

5 most recent comments | Show all 8 comments

How about this:

getFileName ( file )

Right ( file ; Length ( file ) - Position ( file ; "." ; 1 ; PatternCount ( file ; "." ) ) )

Non-recursive and it doesn't matter how many directories there are.

Sean, Birmingham
March 03, 2011 7:54pm

Sorry, that was for my get extension function.

getFileName ( path )

Right ( path ; Length ( path ) - Position ( path ; "/" ; 1 ; PatternCount ( path ; "/" ) ) )

Sean, Birmingham
March 03, 2011 7:56pm

Thanks David Tampa your script (underneath) worked for me all i needed to do was replace FullName with the name of my field containing the file path.
I have been working with text find and replace for hours before I decided to use FM Pro. Wish I started there!


Let(
[
Delimiter = "/";
Counter = PatternCount(FullName;Delimiter);
Parts = Substitute(FullName;"/";"¶")
];

Case(
Counter = 0; FullName;
Counter > 30; "Error: too many directories";
GetValue(Parts;ValueCount(Parts))
)

Ben S-W, London
January 16, 2014 3:19am

Here's one that will handle an unlimited number of directories and file paths (uses recursion):

GetFileName(FilePaths; Iteration)

Let(

[
i = If(not IsEmpty(Iteration); Iteration; 1);
~Path = GetValue(FilePaths; i);
~Name = Right(~Path; Length(~Path) - Position(~Path; "/"; 1; PatternCount(~Path; "/")))
];

If(
i ≤ ValueCount(FilePaths);
If(i > 1; "¶") & ~Name & GetFileName(FilePaths; i + 1)
)


)

Matt Larson, Cimbura.com
August 18, 2015 2:12pm

Here's my calculation field where you would need to replace "FullPath" with the field name of the full path that you are using -- critique welcome:


Right ( FullPath ; Length ( FullPath ) - Position ( FullPath ; "/" ; 1 ; PatternCount ( FullPath ; "/" ) ) )

Louis Benainous, Berkeley, CA
March 03, 2017 12:27pm

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
City/Location:
Comment:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 3 + 8 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. ChiSquare3x2 ( param ; param ; param ; param )
  (Tue, Aug 14, 6:33am)
2. ReverseByteOrder ( bytes )
  (Thu, Aug 09, 12:06pm)
3. BytesToDec ( hex )
  (Thu, Aug 09, 11:47am)
4. GetAsHexBytes ( number ; bytes )
  (Thu, Aug 09, 10:50am)
5. ValCorrelationCoeff ( XValueList; YValueList; Xmean; Ymean; XStdDev; YStdDev )
  (Wed, Aug 08, 4:17pm)
6. ValLeastSquaresSlope ( XValueList; YValueList; Xmean; Ymean )
  (Wed, Aug 08, 4:10pm)
7. ValueMath ( List1 ; List2 ; operation )
  (Wed, Aug 08, 4:05pm)
8. GetExtension ( File )
  (Tue, Aug 07, 10:22am)

RSS Feed of Custom Functions