VBS/指定されたバイト数でファイルに改行コードを入れる
使い方
後述のプログラムを「FileFold.vbs」という名前で保存してください。
以下の方法で実行すると変換ファイルが作成されます。
FileFold.vbs バイト数 変換するファイル名 変換後のファイル名
プログラムコード
' ' ファイル折り畳み(FileFold.vbs) ' ' 指定されたバイト数でファイルに改行コードを入れます。 ' ' (使い方) ' FileFold.vbs バイト数 変換するファイル名 変換後のファイル名 ' ' Option Explicit Dim objParm Dim numLineSize Dim objFileSys Dim strReadFilePath Dim strWriteFilePath Dim objReadStream Dim objWriteStream Dim i, j Set objParm = Wscript.Arguments If objParm.Count < 3 Then WScript.echo "コマンドライン引数が足りません" WScript.Quit End If numLineSize = objParm(0) If IsNumeric(numLineSize) = false Then WScript.echo "1個目の引数が数値ではありません" WScript.Quit End If strReadFilePath = objParm(1) strWriteFilePath = objParm(2) Set objFileSys = CreateObject("Scripting.FileSystemObject") objFileSys.CreateTextFile strWriteFilePath Set objReadStream = CreateObject("ADODB.Stream") Call objReadStream.Open() objReadStream.Type = 1 'Binary objReadStream.LoadFromFile(strReadFilePath) If objReadStream.Size >= 1 Then ReDim a(objReadStream.Size - 1) j = 0 For i = 1 To objReadStream.Size a(j) = AscB(objReadStream.Read(1)) j = j + 1 Next Set objWriteStream = CreateObject("ADODB.Stream") Call objWriteStream.Open() objWriteStream.Type = 2 'Text objWriteStream.Charset = "ISO_8859-1:1987" 'Binary For i = 0 To UBound(a) Call objWriteStream.WriteText(ChrW(a(i))) If (i + 1) Mod numLineSize = 0 Then '指定バイト数毎に改行 Call objWriteStream.WriteText(vbCrLf) End If Next Call objWriteStream.SaveToFile(strWriteFilePath, 2) Call objWriteStream.Close() End If Call objReadStream.Close() Set objReadStream = Nothing Set objWriteStream = Nothing Set objFileSys = Nothing WScript.Echo "変換が完了しました。"
このページのURL: