v1.5
Updates the file paths for files that are used in the scene. For example, when your picture
directory location changes. You can view the list of paths, also called the 'external file list'
by selecting Source Paths from the File menu.
You can use this command to rename all files in a specific category (eg., all Pictures) or
to rename every file in the external file list. If no arguments are specified, a property page
appears asking you to enter the input values.
SearchAndReplacePath( [Category], [OldString], [NewString], [CaseSensitive], [Files] ); |
Parameter | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Category | String |
Category of files to change. This corresponds to the Category column in the
File > Source Paths dialog.
Default Value: All
|
||||||||||||||||||||
OldString | String |
The string to search for in the path(s) specified. This can be the name of a directory
(eg., "fillet" in "c:\users\fillet\src"), an entire path (eg., "c:\users\fillet\src"),
or a substring of the directory (eg., "fill" in "c:\users\fillet\src").
Default Value: If this parameter is not specified, a property page pops up asking for input. |
||||||||||||||||||||
NewString | String |
The string to replace the OldString with in the path(s) specified. Default Value: If this parameter is not specified, a property page pops up asking for input. |
||||||||||||||||||||
CaseSensitive | Boolean |
True to perform the search-and-replace in a case-sensitive mode. Default Value: False |
||||||||||||||||||||
Files | XSICollection | A collection of FileReference objects to be processed. If nothing is specified, all external files used by the scene will be processed. This is used by the External File Manager dialog. |
//---------------------------------------------------------------------------- // // This example demonstrates how to search and replace a portion of // the path in the external file list. // //---------------------------------------------------------------------------- NewScene( null, false ); // First add the no_icon pic to the external file list by adding a texture CreatePrim( "Sphere", "MeshSurface" ); BlendInPresets( null, null, 0, true, siReplaceNoBlend ); var oExternalFileList = GetValue( "Project.ExternalFilesList" ); // Print current external file list before SearchAndReplacePath Application.LogMessage( "Original paths:" ); for ( var i=0; i< oExternalFileList.Count; i++ ) { Application.LogMessage( oExternalFileList.Item(i) ); } // Change the pictures (only 1 in this case) to a new name which will be invalid SearchAndReplacePath( "Pictures", "noIcon", "missingIcon" ); // Print replaced external file list oExternalFileList = GetValue( "Project.ExternalFilesList" ); Application.LogMessage( "Changed paths:" ); for (i=0; i< oExternalFileList.Count; i++) { Application.LogMessage( oExternalFileList.Item(i) ); } // Change back the pictures to the original filename. SearchAndReplacePath( "Pictures", "missing", "no" ); // Print restored external file list oExternalFileList = GetValue( "Project.ExternalFilesList" ); Application.LogMessage( "Restored paths:" ); for ( i=0; i< oExternalFileList.Count; i++ ) { Application.LogMessage( oExternalFileList.Item(i) ); } //---------------------------------------------------------------------------- // Output of above script: //---------------------------------------------------------------------------- // INFO : Original paths: // INFO : $XSI_HOME/Application/rsrc/noIcon.pic // INFO : Changing $XSI_HOME/Application/rsrc/noIcon.pic To $XSI_HOME/Application/rsrc/missingIcon.pic // INFO : Changed paths: // INFO : $XSI_HOME/Application/rsrc/missingIcon.pic // INFO : Changing $XSI_HOME/Application/rsrc/missingIcon.pic To $XSI_HOME/Application/rsrc/noIcon.pic // INFO : Restored paths: // INFO : $XSI_HOME/Application/rsrc/noIcon.pic |