|

|
|
 |
2.4 テキストファイルを新たに作る |
 |
|
|
|
|
|
フォルダを新たに作るときの方法です。ファイルシステムオブジェクトのCreateTextFileというメソッドを使います。
なお、このメソッドを使うとアンチウィルスが悪さをしたと勘違いし「ウィルスかもしれません!」なんて警告メッセージが出るかも知れません。
|
|
|
|
|
|
|
|
|
|
CreateTextFileの使い方です。でも、サンプルはどこかで見たような内容…CreateFolderとほとんど同じです。大きく違うのは、トドメに実行するメソッドがCreateTextFileであることかな。
例は、プログラムがあるフォルダ内に(プログラムが保存されているフォルダ内に)、新たにファイルを作るという処理をしています。作るファイルの名前は現在の時刻+.txtです。
まず、ファイル名として使う現在時刻をHHMMSS形式の6桁で取得します(@)。作成した現在時刻はstrDateへ保存します。時、分、秒の取得をRight("00"…,2)としているのは、例えば1時や2時などのときは01や02の形にするためです。
次に、ファイルシステムオブジェクトの作成(A)し、Bではプログラムがどこに保存されているかを取得(1.5 自分が保存されているフルパスを得るを参照)します。取得した内容はstrScriptPath へ保存し、後でファイルを作る場所の指定に使います。
最後に、CreateTextFileメソッドを使ってファイルを新たに作ります(C)。CreateTextFileには、ファイルを作成する場所までのフルパスとファイル名を指定します。
なお、フルパスの編集はBuildPath(2.2 パスを編集するを参照)で行いました。
ちなみに、CreateTextFileはテキストファイルを作成する…と書きましたが、実は中身がカラッポのファイルを作るメソッドです。なので、作った後はテキストファイルとして使おうがバイナリファイルとして使おうが自由です。
■VBScriptの記述例
Option Explicit
Dim objFileSys
Dim intSep
Dim strScriptPath
Dim strCreateFile
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形式)+拡張子(.txt)です
strCreateFile = objFileSys.BuildPath(strScriptPath,strDate & ".txt")
objFileSys.CreateTextFile strCreateFile
WScript.echo strScriptPath & "に" & strDate & ".txtという名前のファイルを作りました"
'オブジェクト破棄
Set objFileSys = Nothing
|
■JScript(JavaScript)の記述例
var strScriptPath;
var strCreateFile;
var strDate;
//@現在時刻をHHMMSSの形式で取得します
strDate = getTime();
//Aファイルシステムオブジェクトの作成
var objFileSys = new ActiveXObject("Scripting.FileSystemObject");
//Bプログラムが保存されているフォルダを取得します
strScriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName,"");
//Cプログラムが保存されているフォルダに、新たにファイルを作ります
// ファイル名は現在の時刻(HH_M_S形式)+拡張子(.txt)です
strCreateFile = objFileSys.BuildPath(strScriptPath,strDate + ".txt");
objFileSys.CreateTextFile(strCreateFile);
WScript.echo(strScriptPath + "に" + strDate + ".txtという名前のファイルを作りました");
//オブジェクト破棄
objFileSys = null;
function getTime() {
//時刻を編集し返す
var objDate = new Date();
return objDate.getHours() + "_" + objDate.getMinutes() + "_" + objDate.getSeconds();
}
|
|
|
|
|
|