v1.5
シーンで使用されるファイルへのファイル パスを更新します。 たとえば、ピクチャ ディレクトリの場所を変更する場合などです。 パスのリストを表示できるほか、[File]メニューから[Source Paths]を選択して外部ファイルを呼び出せます。
このコマンドは、特定カテゴリ内の全ファイル名を変更するか(例: すべてのピクチャ)、外部ファイル リスト内の各ファイル名を変更します。 引数が指定されない場合はプロパティ ページが表示され、値を入力するよう求められます。
SearchAndReplacePath( [Category], [OldString], [NewString], [CaseSensitive], [Files] ); |
パラメータ | タイプ | 説明 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Category | 文字列 |
変更するファイルのカテゴリ。 [File] > [Source Paths]ダイアログの[Category]列に対応します。
デフォルト値: All
|
||||||||||||||||||||
OldString | 文字列 |
指定のパス内を検索する文字列。 ディレクトリ名(例: 「c:¥users¥fillet¥src」の「fillet」)、パス全体(例: 「c:¥users¥fillet¥src」)、またはディレクトリの一部の文字列(例: 「c:¥users¥fillet¥src」の「fill」)を使用できます。
デフォルト値:このパラメータが指定されていない場合はプロパティページが開き、入力するよう求められます |
||||||||||||||||||||
NewString | 文字列 |
OldString を指定のパスに置き換える文字列 デフォルト値:このパラメータが指定されていない場合はプロパティページが開き、入力するよう求められます |
||||||||||||||||||||
CaseSensitive | Boolean |
大文字小文字を区別して検索置換する場合は True デフォルト値: False |
||||||||||||||||||||
Files | XSICollection | 処理するFileReferenceオブジェクトのコレクション。 何も指定されていない場合は、シーンが使用するすべての外部ファイルが処理されます。 つまり、[External File Manager]ダイアログによって使用されるファイルです。 |
//---------------------------------------------------------------------------- // // 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 |