投稿時間:2005/02/24(Thu) 20:54 投稿者名:こう
URL :
タイトル:Re^4: ログファイルの内容削除について
ご教授有難う御座いました。 以下のソースを作成しました。 1秒以内で処理出来ました。 有難う御座いました。
Dim objFile As New FileSystemObject Dim tsTextStream As TextStream Dim tsDummyStream As TextStream Dim lFileSize As Long Dim lFileLine As Long Dim lLineCount As Long Dim strReadBuf As String
'ログファイルのサイズが500KBを超えると最初の行から半分削除して、サイズを半分にする If lFileSize >= LOG_FILESIZE Then 'LOG_FILESIZE(50万バイト) 'ログファイルを読み取り専用で開き、ダミーログファイルを作成する Set tsTextStream = objFile.OpenTextFile(ログファイルパス, ForReading, False) Set tsDummyStream = objFile.OpenTextFile(ダミーファイルパス, 8, True) ’以前にラインプロパティでそう行数を取得している lFileLine = lFileLine / 2 '総行数を半分の行数にする 'ファイルを読み込む Do Until tsTextStream.AtEndOfStream = True lLineCount = lLineCount + 1 If lFileLine <= lLineCount Then strReadBuf = tsTextStream.ReadLine Call tsDummyStream.WriteLine(strReadBuf) Else tsTextStream.SkipLine '次の行 End If Loop ’終了処理 Call EndProcess(False, False, False, tsTextStream:=tsTextStream, _ objFile:=objFile, tsDummyStream:=tsDummyStream) Call Kill("ログファイル名") '以前のログファイル削除 'ダミーファイルを元のログファイル名に変更 Name "ダミーファイル名" As "ログファイル名" End If
|