FindFile
FindFile is a built-in scripting function that searches for all files that match a given search string.
Function | Group | Execution | Windows | Embedded | Thin Client | Mobile Access |
---|---|---|---|---|---|---|
FindFile | File | Synchronous | Supported | Not supported | Supported (see “Notes”) | Not supported |
Syntax
FindFile( strFile, optTagFilesFound, optNumTimeout )
- strFile
- The name of the file(s) to search for.
You may use wildcards (*) to find multiple files. For example, *.gif to find all GIF files or log*.txt to find all log files in a sequence (e.g., log001.txt, log002.txt, log003.txt).
By default, the function only searches the project folder, but you may specify a file path (either relative or absolute) to search elsewhere. For example, if strFile is defined as…\volume name or IP addressLogslog*.txt
…then the function will search the Logs directory on the specified network volume.
- optTagFilesFound
- An array (of String type) that will receive the names of the matching files. The array name must be enclosed in quotes; if it is not, then the function will try to get the contents of the array.
This is an optional parameter. If no value is specified, then the file names will not be saved and the function will only return the number of files found. For more information, see “Returned value” below.
The specified array will receive only the file names and not their paths, even if you define strFile to search outside the project folder. Also, the file names will be saved starting at array position 1 (e.g., MyArray[1]).
- optNumTimeout
- The timeout period (in milliseconds) for the function to be successfully executed.
This is an optional parameter. If no value is specified, then the project will continue searching until it has completely searched the specified directory.
Note: optNumTimeout is not supported if the target system / project server is a Windows Embedded device.
Returned value
Value | Description |
---|---|
-1 | Function timed out. |
0 | No matching files found. |
n | Number of matching files found. |
Notes
This function can be called from scripts executed on project clients (e.g., Graphics Script, Screen Scripts, Command animations), but the function itself is always executed on the project server. By default, it only searches the project folder on the server, and if strFile includes a relative file path, then it is relative to that folder.
Furthermore, because the function is executed synchronously on the project server, if strFile is poorly defined and/or optNumTimeout is not used, then the entire project — both the server and the clients — may hang while it searches for the files.
Finally, optNumTimeout is not supported if the target system / project server is a Windows Embedded device.
Examples
FindFile( "*.txt" )
FindFile( "*.doc", "StringArray", 1000 )