複数ファイルについて文字列の置換を行います。

【実行画面】







(注意)
 ソースは以下の通り

*** chikan.vbs ***

'◇複数テキストファイル内の文字列を変換する◇
'                                           by Shimizu

dim res, kakunin
dim args
dim s

'///    注意を表示
'           バイナリファイルを指定していないか
res = MsgBox("バイナリファイルを指定すると" & vbCR &_
    "ファイルが壊れます。" & vbCR & vbCR &_
    "置換を開始しますか?",33)
if res = vbCancel then
    WScript.Quit
end if

'ArgumentsObjectを使用
Set args = Wscript.Arguments
s = args.Count

'ファイルが渡されていなければ終了
if s = 0 then
    res = MsgBox("ファイルが指定されていません",48)
    WScript.Quit
end if


dim mae,ato

do
    do
        '変換前の文字列を指定
        mae = InputBox("変換前の文字列を入れて下さい。" & vbCR &_
                vbCR & "「なにを」","複数ファイル内文字列変換")

        if mae = "" then
            '最初のインプットボックスで「キャンセル」またはNULLの
            '場合は終了
            WScript.Quit
        end if

        'なにに変換するか指定
        ato = InputBox("変換後の文字列を入れて下さい。" & vbCR &_
                vbCR & "「なにに」","複数ファイル内文字列変換")

    '2番目のインプットボックスが「キャンセル」または
    'NULLなら最初のボックスに戻る
    loop while ato = ""


    '「なにを」「なにに」置換するかの確認
    kakunin = MsgBox("「" & mae & "」を" & vbCR & vbCR & "「" &_
                ato & "」に変換します。" & vbCR & vbCR &_
                "よろしいですか?",67,"置換の確認")

    if kakunin = 6 then
        exit do             '「はい」ならループを抜けて置換処理

    elseif kakunin = 2 then
        WScript.Quit        '「キャンセル」なら終了

    end if
    '「いいえ」なら最初のインプットボックスに戻る

loop


'//////////////////////////
'ここから置換処理

dim objFS, objText
dim myItem
dim myText, newText

'FileSystemオブジェクトを使用
Set objFS = CreateObject("Scripting.FileSystemObject")


'全てのファイルについて置換を実行
for each myItem in args

    'ファイルをオープン
    Set objText = objFS.OpenTextFile(myItem)
    myText = objText.ReadAll    '読み込み
    objText.Close               'ファイルを閉じる

    newText = Replace(myText,mae,ato)   '置換

    '置換後の文字列を書き込み
    Set objFile = objFS.GetFile(myItem)
    Set objText = objFile.OpenAsTextStream(2,0)
    objText.Write(newText)
    objText.Close

next

res = MsgBox("置換が終了しました。",64)


 一応、Pyxisでのランチャー設定例を、次に示します。
 下の例では、"chikan.vbs"は、"c:\Script"内にあります。




 Pyxis(シェアウェア)の入手先は、 ベクター内 または、 〜Tom〜さんのページにて



戻る