FILE_SEARCH Calls the RMS service $SEARCH to search a directory for a file and return the partial or full file that you specify. FILE_SEARCH returns a string containing the resulting file specification. If you do not provide a complete file specification, FILE_PARSE supplies defaults in the return string from fields it finds first in the default file specification or in the related file specification. If the file is not found in the directory, FILE_SEARCH returns a null string and signals an error. Syntax string4 := FILE_SEARCH (string1 [, string2 [, string3 [, keyword1 [,...[,keyword_n]]]]]) Parameters string1 The specification of the file you want to find. string2 A default file specification. string3 A related file specification keyword A field in the VMS file specification. The valid keywords are: NODE, DEVICE, DIRECTORY, NAME, TYPE, VERSION, HEAD, or TAIL. HEAD returns the NODE, DEVICE, and DIRECTORY. TAIL returns the NAME, TYPE, and VERSION. Use one or more keywords to specify which fields of the file specification you want FILE_PARSE to return. You can use as many of these keywords as you wish with one FILE_PARSE statement as long as there are not duplicate requests. For example, you cannot use HEAD along with NODE, DEVICE, or DIRECTORY. Comments Specify the first three parameters as quoted strings. Logical names and device names must terminate with a colon. If you omit optional parameters to the left of a parameter, you must include null strings a place holders for the missing parameters. You must use FILE_SEARCH multiple times with the same parameter to get all of the occurrences of a filename in a directory. When all matching files have been found, a null string is returned. Example The following procedure puts each .RNO file in the your current, default directory into a separate buffer. You can use the SHOW (BUFFERS) statement to display the buffers created with this procedure. The initial FILE_SEARCH clears the context in case of an incomplete previous file search. PROCEDURE user_collect_rnos LOCAL file_spec; file_spec := FILE_SEARCH (''); LOOP file_spec := FILE_SEARCH ('*.rno'); EXITIF file_spec = ""; CREATE_BUFFER (FILE_PARSE (file_spec, "", "", name), file_spec); ENDLOOP; ENDPROCEDURE; Related Topics FILE_PARSE