忍者ブログ

テキストファイルを使ったプログレス表示スクリプトを改良

2024年04月16日
VBScriptはメモ帳にソースコードを書いて、Windows上で実行できるのがめっちゃ手軽で便利。

ただ、Windows上で実行できるがゆえに、プログラムの現在状態がわからなくて非常に厄介。処理がどこまで進んでいるのか、変数の値がどうなってるかを調べるのはちょっとめんどくさい。

以下の記事では、プログラムの進捗状況をテキストファイル名で表現するソースコードを公開した。

VBScriptで進捗状況を表示する方法~プログレスファイル出力~

今回は、テキストファイルの中身もデバッグ用に活用できるように改良した。




変更点としては、
引数として、ファイル名とテキストを渡せるように変更。

writePrgrsFileを直接呼び出すと、進捗表示用のファイルが増殖し、各状態でのデバッグテキストを閲覧できる。

ちなみに、プログラムが正常終了すると、テキストファイルは全削除される。



以下ソース。


'-----------------------------------------------------------'プログレスバー
sub outputProgress(text)
    call deletePrgrsFile
    if text <> "" then call makePrgrsFile(text)
end sub


 


Sub  makePrgrsFile(text)
    dim myPath : myPath = Wscript.scriptFullname
    dim yPos : yPos = instrrev(myPath , "\")
    dim strFile: strFile = left(myPath,yPos) & "Args
" & text & ".prgrs"


 


    dim objFS:    Set objFS = CreateObject("Scripting.FileSystemObject")
    dim obfFile :    Set obfFile = objFS.CreateTextFile(strFile)    ' 
ファイル作成
    set objFS = nothing
    set obfFile = nothing
end sub


 


'-----------------------------------------------------------'プログレスバー2
sub outputProgress2(fname,text)
    call deletePrgrsFile
    if text <> "" then call writePrgrsFile(fname,text)
end sub



Sub  writePrgrsFile(fname,text)
     dim myPath : myPath = Wscript.scriptFullname
     dim yPos : yPos = instrrev(myPath , "\")
     dim strFile: strFile = left(myPath,yPos) & "Args
" & fname & ".prgrs"

     dim objFS:    Set objFS = CreateObject("Scripting.FileSystemObject")
     dim obfFile :    Set obfFile = objFS.CreateTextFile(strFile)    ' 
ファイル作成
  obfFile.WriteLine(text)
  obfFile.close
     set objFS = nothing
     set obfFile = nothing
end sub


 '-----------------------------------------------------------'共通処理


sub deletePrgrsFile()
    on error resume next
    dim myPath : myPath = Wscript.scriptFullname
    dim yPos : yPos = instrrev(myPath , "\")
    dim tarFile:tarFile = left(myPath,yPos) & "*.prgrs"


 


    with CreateObject("Scripting.FileSystemObject")
        .DeleteFile tarFile
    end with
end sub


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字