2023-01-16に投稿

(VBS)テキストに書き込まれたパスに対して処理を一括実行

「★★★ ここに実行したい処理を書き込む★★★」の箇所に一括処理する内容を記載する

Option Explicit


Dim TargetPass : TargetPass = "C:\xxxx\TargetPass.txt"  '//処理対象パスが記載されたテキスト
Call AtOnceExc( TargetPass )

'=========================================================
'機能名 : Sub AtOnceExc
'引数   : pm_targetpass    対象パス
'処理   : テキストに書き込まれたパスに対して処理を一括実行
'=========================================================
Sub AtOnceExc(pm_targetpass)

    Dim TitleBox : TitleBox   = "ファイル一括実行"                            '//処理タイトル

    '---------------------------------------------------------------------------------------
    '//1.テキストに対象パスを入力指示
    '---------------------------------------------------------------------------------------
    '//シェルオブジェクトの作成
    Dim objWshShell
    Set objWshShell = WScript.CreateObject("WScript.Shell")

    '//MsgBoxを開く
    Call objWshShell.Popup ("指定したいパスをテキストに入力してください",,TitleBox,vbYesNo + vbInformation)

    '---------------------------------------------------------------------------------------
    '//2.テキスト入力確認
    '---------------------------------------------------------------------------------------
    '//テキストを開く
    objWshShell.Run pm_targetpass

    '//3秒後に処理を実行
    WScript.Sleep 3000

    '//MsgBoxを開く
    Dim Re
    Re = objWshShell.Popup ( "入力したらOKを押下してください",,TitleBox,vbYesNo + vbInformation )

    '---------------------------------------------------------------------------------------
    '//3.テキスト入力確認
    '---------------------------------------------------------------------------------------
    IF Re = vbYes Then

        '//OKが押下された場合、以下のMSGを出力
        Dim ReExc
        ReExc = objWshShell.Popup ( "入力完了。処理を実行しますか?",,TitleBox,vbYesNo + vbInformation )

    '---------------------------------------------------------------------------------------
    '//4.処理を実行
    '---------------------------------------------------------------------------------------
        IF ReExc = vbYes Then

            '//OKが押下された場合、以下のMSGを出力
            Dim objFIleSys    : Set objFileSys    = Wscript.CreateObject("Scripting.FileSystemObject")
            Dim objReadStream : Set objReadStream = objFileSys.OpenTextFile(pm_targetpass, 1)

            Do Until objReadStream.AtEndOfStream = True

                '//テキストに書き込まれたパスを一行ずつ読み込む
                Dim strLine : strLine = objReadStream.ReadLine

                '//---------------★★★ ここに実行したい処理を書き込む★★★---------------------
                objWshShell.Run strLine

                '//-------------------------------------------------------------------------------

            LOOP

        End If

    End IF

    '//2秒後に処理を実行
    WScript.Sleep 2000
    Call objWshShell.Popup ( "処理を終了します", 3 ,TitleBox,vbYesNo + vbInformation )

    '//初期化
    Set objFileSys  = Nothing
    Set objWshShell = Nothing

End Sub

TargetPass.txt
image

ツイッターでシェア
みんなに共有、忘れないようにメモ

speasmen88

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント