#navi(../)
* ファイルを新規に作成しテキストを書き込むVBScriptサンプルコード [#u1350e60]
この資料はVBScriptを使用しテキストファイルを新規に作成しファイルにテキストを書き込むサンプルコードと実行結果を記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事 [#g30d6417]
-[[ファイルを行単位で読み込む方法・ReadLineメソッド>WSH/ファイルを行単位で読み込む方法・ReadLineメソッド]]
-[[既存ファイルをにテキストを追加書き込みするサンプルコード>WSH/既存ファイルをにテキストを追加書き込みするサンプルコード]]
-[[ファイルの存在チェックを行う・FileExists>WSH/ファイルの存在チェックを行う・FileExists]]
-[[ファイルの削除を行う方法・DeleteFile>WSH/ファイルの削除を行う方法・DeleteFile]]
-[[ファイルまたはフォルダーを別の場所にコピーする・Copy>WSH/ファイルまたはフォルダーを別の場所にコピーする・Copy]]
-[[FileSystemObjectに含まれているオブジェクトおよびコレクション一覧>WSH/FileSystemObjectに含まれているオブジェクトおよびコレクション一覧]]
-[[FileSystemObjectのDriveオブジェクトとDrivesコレクション>WSH/FileSystemObjectのDriveオブジェクトとDrivesコレクション]]
-[[FileSystemObjectのFileオブジェクトとFilesコレクション>WSH/FileSystemObjectのFileオブジェクトとFilesコレクション]]
-[[FileSystemObjectのFolderオブジェクトとFoldersコレクション>WSH/FileSystemObjectのFoldersオブジェクトとFoldersコレクション]]
-[[FileSystemObjectのTextStreamオブジェクトの調査>WSH/FileSystemObjectのTextStreamオブジェクトの調査]]
* テキストファイルの新規作成およびテキスト書き込みのサンプルコードと実行結果 [#d99c10bf]
以下にテキストファイルを新規に作成し、作成したテキストファイルにテキストを書き込むVBScriptのサンプルコードと実行結果を記します。
** サンプルコード [#sb829521]
OpenTextFileメソッドとCreateTextFileメソッドを利用したサンプルコードを以下に記します。~
下記のの2つのVBScriptサンプルコードはまったく同じ動作をします。~
*** OpenTextFileメソッド使用例 [#h38cd307]
#ref(write1.vbs)
Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set tso = fso.OpenTextFile("text1.txt", ForWriting, true)
tso.Write("foo")
tso.WriteLine("bar")
tso.WriteBlankLines(1)
tso.WriteLine("hoge")
tso.Write("hello" + vbCrLf + "world" + vbCrLf)
tso.Close
OpenTextFileの引数のForWritingは書き込みを指定。~
3番目の引数のtrueは、上書き指定となっています。
*** CreateTextFileメソッド使用例 [#sdeeec13]
#ref(write2.vbs)
Set fso = CreateObject("Scripting.FileSystemObject")
Set tso = fso.CreateTextFile("text2.txt", true)
tso.Write("foo")
tso.WriteLine("bar")
tso.WriteBlankLines(1)
tso.WriteLine("hoge")
tso.Write("hello" + vbCrLf + "world" + vbCrLf)
tso.Close
CreateTextFileの2つ目の引数trueはOpenTextFile同様に上書き指定となっています。
** サンプルコードの実行結果 [#ne16e3de]
以下にサンプルコードの実行結果を記します。~
ファイルに出力される結果は同じになります。
*** 両VBScriptの動作説明 [#p4341006]
Scripting.FileSystemObjectを作成し、OpenTextFileメソッドまたは、 CreateTextFileメソッドを呼び出すことによりTextStreamオブジェクトが返却されます。~
あとは、TextStreamオブジェクトのWrite, WriteLine, WriteBlankLinesを利用してテキストを出力しています。~
また、改行定数であるvbCrLfによる改行も動作することを確認しています。
*** OpenTextFileメソッド使用サンプルコードの実行結果 [#w62cdcd8]
C:\wsh>cscript /nologo write1.vbs
C:\wsh>type text1.txt
foobar
hoge
hello
world
*** CreateTextFileメソッド使用サンプルコードの実行結果 [#cee08970]
C:\wsh>cscript /nologo write2.vbs
C:\wsh>type text2.txt
foobar
hoge
hello
world
#htmlinsertpcsp(win-btm.html,win-sp.html)