2.3 フォルダを新たに作る
 フォルダを新たに作るときの方法です。ファイルシステムオブジェクトのCreateFolderというメソッドを使います。

 なお、このメソッドを使うとアンチウィルスが悪さをしたと勘違いし「ウィルスかもしれません!」なんて警告メッセージが出るかも知れません。
使用例
 CreateFolderの使い方です。例は、プログラムがあるフォルダ内に(プログラムが保存されているフォルダ内に)、新たにフォルダを作るという処理をしています。作るフォルダの名前は現在の時刻です。

 まず、フォルダ名として使う現在時刻をHHMMSS形式の6桁で取得します(@)。作成した現在時刻はstrDateへ保存します。時、分、秒の取得をRight("00"…,2)としているのは、例えば1時や2時などのときは01や02の形にするためです。

 次に、ファイルシステムオブジェクトの作成(A)し、Bではプログラムがどこに保存されているかを取得(1.5 自分が保存されているフルパスを得るを参照)します。取得した内容はstrScriptPath へ保存し、後でフォルダを作る場所の指定に使います。

 最後に、CreateFolderメソッドを使って、フォルダを新たに作ります(C)。CreateFolderには、作成するフォルダまでのフルパスを指定します。
 なお、フルパスの編集はBuildPath(2.2 パスを編集するを参照)で行いました。

 ■VBScriptの記述例
Option Explicit

Dim objFileSys
Dim strScriptPath
Dim strCreateFolder
Dim strDate

'@現在時刻をHHMMSSの形式で取得します
strDate = CStr(Right("00" & Hour(Time),2) & _
          Right("00" & Minute(Time),2) & _
          Right("00" & Second(Time),2))

'Aファイルシステムオブジェクトの作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")

'Bプログラムが保存されているフォルダを取得します
strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")

'Cプログラムが保存されているフォルダに、新たにフォルダを作ります
' フォルダ名は現在の時刻(HHMMSS形式)です
strCreateFolder = objFileSys.BuildPath(strScriptPath,strDate)
objFileSys.CreateFolder strCreateFolder

WScript.echo strScriptPath & "に" & strDate & "という名前のフォルダを作りました"

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

 ■JScript(JavaScript)の記述例
var objFileSys;
var strScriptPath;
var strDate;
var strCreateFolder;

//@現在時刻をHHMMSSの形式で取得します
strDate = getTime();

//Aファイルシステムオブジェクトの作成
var objFileSys = new ActiveXObject("Scripting.FileSystemObject");

//Bプログラムが保存されているフォルダを取得します
strScriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName,"");

//Cプログラムが保存されているフォルダに、新たにフォルダを作ります
// フォルダ名は現在の時刻(HH_M_S形式)です
strCreateFolder = objFileSys.BuildPath(strScriptPath,strDate)
objFileSys.CreateFolder(strCreateFolder);

WScript.echo(strScriptPath + "に" + strDate + "という名前のフォルダを作りました");

//オブジェクト破棄
objFileSys = null;

function getTime() {
    //時刻を編集し返す
    var objDate = new Date();
    return objDate.getHours() + "_" + objDate.getMinutes() + "_" + objDate.getSeconds();
}
Copyright(C) 1999-2006 結城圭介。 All rights reserved