文字列置換スクリプト †複数のテキストファイルで特定の文字列を置換する、最もシンプルですが、使いどころの多いツールです。 関連ページ †なし ファイル名: replace.vbs Option Explicit ' ソースを厳格にチェック ' Dim obj_file ' クラス実体化のため ' Set obj_file = New cl_file ' クラス実体化 ' ' ' Call obj_file.Execute( ".\" ) ' 処理開始 ' Set obj_file = Nothing ' リソース解放 ' ' ' Class cl_file ' ファイル操作クラス ' public Sub Execute( ByVal vd_folderPath ) ' 開始処理 ' Dim fso, IDIR ' 変数 ' Set fso = CreateObject( "Scripting.FileSystemObject" ) ' FileSystemObject生成 ' Set IDIR = fso.GetFolder( vd_folderPath ) ' フォルダ名取得 ' Call replace_M( IDIR ) ' 置換処理開始 ' Set IDIR = Nothing ' リソース解放 ' End Sub ' 処理終了 ' ' ' private Sub replace_M( ByRef IDIR ) ' 置換処理 ' Dim str1, str2, bufStr, fso, IOFO, folderName, filePath, fileName, rtnCod ' 変数 ' str1 = "test" ' 置換対象文字列 ' str2 = "TEST" ' 置換後文字列 ' Set fso = CreateObject( "Scripting.FileSystemObject" ) ' FileSystemObject生成 ' rtnCod = 1 ' 内部処理判定用 ' For Each filePath In IDIR.Files ' すべてのファイルについて ' fileName = fso.GetFileName( filePath ) ' ファイル名取得 ' rtnCod = StrComp( "replace.vbs", fileName ) ' 自分自身か ' If 0 = rtnCod then ' 自分自身なら ' rtnCod = 1 ' 内部処理判定を設定 ' Else ' 自分自身でないなら ' Set IOFO = fso.OpenTextFile( filePath, 1 ) ' ファイルを開く ' bufStr = IOFO.readAll ' ファイルの内容をすべて読込む ' IOFO.Close ' ファイルを閉じる ' Set IOFO = Nothing ' リソース解放 ' bufStr = Replace( bufStr, str1, str2 ) ' 置換実行 ' Set IOFO = fso.OpenTextFile( filePath, 2 ) ' ファイルを開く ' IOFO.write( bufStr ) ' 置換後ファイル出力 ' IOFO.Close ' ファイルを閉じる ' Set IOFO = Nothing ' リソース解放 ' End If ' ' Next ' ' ' ' For Each folderName In IDIR.SubFolders ' サブフォルダについて ' Call replace_M( folderName ) ' 再帰置換依頼 ' Next ' ' ' ' Set fso = Nothing ' リソース解放 ' ' ' End Sub ' 処理終了 ' End Class ' ' 参考ページ † |