

vbsで複数のphpファイルの内容を一括で、そのファイル自身の名前に変更するプログラムを作りたいです。

以下のようなコードを作成しましたが、html以外では動作してくれません。  
どうしたら良いですか？

[code]

    Option Explicit '変数の宣言を省略させないためのものです。
    
    Const TARGET_FOLDER = "C:\Users\drive\aaa"     '※フォルダを指定
    Const REPLACE_FROM = "so" '※置換前文字列
    Dim   REPLACE_TO                    '  置換後文字列
    
    Const ForReading = 1 '読み込み
    Const ForWriting = 2 '書きこみ（上書きモード）
    Const ForAppending = 8 '書きこみ（追記モード）
    
    Dim strFilePath, infile, outfile, strData, strExt '変数を宣言
    Dim objFSO, objFolder, objFile, objSubFolder, objTXT '変数を宣言
    Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") 'ドライブ・フォルダ・ファイルなどを操作できるオブジェクトです。
    Set objFolder = objFSO.GetFolder(TARGET_FOLDER)
    
    For Each objFile In objFolder.Files
        strFilePath = objFSO.BuildPath(TARGET_FOLDER, objFile.Name)
        strExt = objFSO.GetExtensionName(objFile.Name)
        If LCase(strExt) = "html" Then
            Set infile = objFSO.OpenTextFile(strFilePath,ForReading)
            strData = infile.ReadAll
            infile.Close
            Set infile = Nothing
            Set outfile = objFSO.OpenTextFile(strFilePath,ForWriting)   '(上書き)
            REPLACE_TO = objFile.Name '※自身のファイル名
            outfile.Write Replace(strData,REPLACE_FROM,REPLACE_TO)
            outfile.Close
            Set outfile = Nothing
        End If
    Next
    
    Set objFolder = Nothing
    Set objFSO = Nothing
    
    MsgBox "終了", vbInformation
    
[/code]


CC BY-SA 4.0
2021-03-03T10:45:50.233
74391
2021-03-03T11:37:50.347
2021-03-03T11:37:50.347
3060
44191
question
vbs
vbsでphp置換がhtml対象でしか動作しない


`For` 文の中の `If` 文で拡張子をチェックしており、現状だとここで「html の場合のみ」処理をしているようなので、PHP
を対象にしたい場合は以下のように書き換えてみてください。

**変更前:**

[code]

        strExt = objFSO.GetExtensionName(objFile.Name)
        If LCase(strExt) = "html" Then
    
[/code]

**変更後:**

[code]

        strExt = objFSO.GetExtensionName(objFile.Name)
        If LCase(strExt) = "php" Then
    
[/code]


CC BY-SA 4.0
2021-03-03T11:36:16.647
74393
2021-03-03T11:36:16.647
3060
74391
answer