- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!VBS テキストファイル変換テンプレート
[VBScript]
!!テキスト変換テンプレート
*以下の内容を .vbs ファイルで作成
*変換元ファイルをドロップすると、test.txt.【変換_20091126_120221】.txt のようなファイル名で、変換後ファイルを作成する
'
' テキスト変換テンプレート
'
' @see http://msdn.microsoft.com/ja-jp/library/cc410284.aspx
'
Sub TranslateText()
'作業用
Dim fso ' FileSystemObject http://msdn.microsoft.com/ja-jp/library/cc409798.aspx
Dim srcFile, dstFile ' srcFile:変換元ファイルパス, dstFile:変換先ファイルパス
Dim inf, outf ' inf:変換元ファイル, outf:変換先ファイル
Dim output_count ' 出力件数カウント
Dim line ' 作業用ファイル内容行
'エラーチェック
IF WScript.Arguments.Count < 1 THEN
Call WScript.Echo("対象ファイルをこのファイルにドロップしてください")
Exit Sub
END IF
Set fso = CreateObject("Scripting.FileSystemObject")
srcFile = WScript.Arguments(0)
IF Not fso.FileExists(srcFile) Then
Call WScript.Echo("対象ファイルが存在しません。")
Exit Sub
End If
'ファイルの準備
suffix = Replace(Date,"/","") & "_" & Replace(Time,":","")
dstFile = srcFile & ".【変換_" & suffix & "】.txt"
Set inf = fso.OpenTextFile(srcFile, 1) '1:ForReading
Set outf = fso.OpenTextFile(dstFile, 2, True) '2:ForWriting
'変換、出力処理
output_count = 0
Do While Not inf.AtEndOfLine
line = inf.ReadLine()
' ここで変換処理を行う Replace http://msdn.microsoft.com/ja-jp/library/cc410284.aspx
' Replace(expression, find, replacewith[, start[, count[, compare]]])
' count:置換する文字列数 -1ならすべて
' compare:0バイナリ、1:テキストモード
'
line = Replace(line,"From","To",1,-1,1)
'出力
outf.WriteLine(line)
output_count = output_count + 1
Loop
Call WScript.Echo(output_count & "件処理しました。")
End Sub
'主処理
Call TranslateText()