SearchAndReplacePath

Introduced

1.5

Description

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.

Scripting Syntax

SearchAndReplacePath( [Category], [OldString], [NewString], [CaseSensitive], [Files] )

Parameters

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

Possible Values:

All: All files in the ExternalFilesList.

Actions: All actions(".eani") files.

Audio: All audio (".wav", ".aiff", ".mov", etc.) files.

Models: All model (".emdl") files.

MatLib: All material library(".xsi") files.

Pictures: All picture (".pic", ".tga", ".gif", etc.) files.

Render_Pictures: All pictures for rendering ex: HDR.

Synoptic: All synoptic (".htm", ".html") files.

Thumbnails: All Thumbnails files.

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.

Examples

JScript Example

//----------------------------------------------------------------------------
//
// 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

See Also

FileReference

Scene.GetExternalFile



Autodesk Softimage v7.5