2.2 パスを編集する
 たとえば変数1変数2という2つの変数があって、変数1にはc:\happyのパス情報が、変数2にはtextfile.txtのファイル名情報が入っているとき、これら2つの変数の内容をくっつけてc:\happy\textfile.txtというフルパスを作りたいときの話です。

 基本的には単純にくっつけりゃ済む話なのですが、そのときにが入るとか入らないとかを考えなきゃイカンし、それが意外と面倒!なぜ面倒かは、下の説明を見てください。

パスとファイル名が別々に保存されていて、それらの内容を結合しc:\happy\textfile.txtという内容を作りたいとき、次のようなパターンそれぞれを考える必要があります。

◆パターン1
 パス   /c:\happy\
 ファイル名/textfile.txt
 ※そのままくっつければいいです

◆パターン2
 パス   /c:\happy
 ファイル名/\textfile.txt
 ※これも、そのままくっつければいいです

◆パターン3
 パス   /c:\happy\
 ファイル名/\textfile.txt
 ※どっちかの\記号が不要なのでカットしなければなりません。

◆パターン4
 パス   /c:\happy
 ファイル名/textfile.txt
 ※\記号を新たに追加しなければなりません。

 というわけで、上のようなことで悩まずにBuildPathを使って一発で済ましましょう。
使用例
 そんなわけで、BuildPathの使い方です。こいつは、ファイルシステムオブジェクトに付いている機能で、パラメタ(引数)として2つの文字列を渡してあげます。例では、strPathstrFileNameという変数にそれぞれパス名とファイル名を入れ、その後BuildPathで編集したフルパスをstrFullPathへ保存しています。

 なお、例ではBuildPathパス名ファイル名で渡していますが、このメソッドは2つの文字列を結合するときに必要に応じて記号を入れたり削ったりしているだけなので、渡すパラメタを両方ともパス名にしてもOKです。

 ■VBScriptの記述例
Option Explicit

Dim objFileSys
Dim strPath
Dim strFileName
Dim strFullPath

Set objFileSys = CreateObject("Scripting.FileSystemObject")

strPath = "c:\happy"
strFileName = "textfile.txt"

'BuildPathメソッドでフルパスを作成
strFullPath = objFileSys.BuildPath(strPath,strFileName)

WScript.Echo "パス…" & strPath
WScript.Echo "ファイル名…" & strFileName
WScript.Echo "くっつけ後のフルパス…" & strFullPath

'オブジェクト破棄
Set objFileSys = Nothing

 ■JScript(JavaScript)の記述例
var strPath;
var strFileName;
var strFullPath;
var objFileSys = new ActiveXObject("Scripting.FileSystemObject");

strPath = "c:\\happy"
strFileName = "textfile.txt"

//BuildPathメソッドでフルパスを作成
strFullPath = objFileSys.BuildPath(strPath,strFileName);

WScript.echo("パス…" + strPath);
WScript.echo("ファイル名…" + strFileName);
WScript.echo("くっつけ後のフルパス…" + strFullPath);

//オブジェクト破棄
objFileSys = null;
Copyright(C) 1999-2006 結城圭介。 All rights reserved