【HTA】 FileSystemObjectでテキスト処理 & Jscriptの正規表現で置換処理

プログラミング・Web開発

FileSystemObjectでテキストのファイルを1行ごと入出力させ Jscriptの正規表現で置換処理をさせるサンプル。

添付ソースを拡張子HTAで保存して使う。

インアウトのファイル名は固定値になっているので、ここはゆくゆく修正。

<head>
<!–
‘********************************************************************
‘*
‘* 【HTA】 FileSystemObjectでテキスト処理 & Jscriptで置換処理
‘*
‘********************************************************************
–>
<title>【HTA】 FileSystemObjectでテキスト処理 & Jscriptで置換処理</title>
<HTA:APPLICATION
      ID="FileSystemObjectRep"
     APPLICATIONNAME="Rep"
      SCROLL="yes"
      SINGLEINSTANCE="yes"
>
</head>

<script id="lang_js" language="jscript" type="text/jscript">

//FileSystemObject
var FSO = new ActiveXObject("Scripting.FileSystemObject");
//RegExp
//var RE = new ActiveXObject("VBScript.RegExp");

//定数
var ForReading, ForWriting, ForAppending;
ForReading = 1;
ForWriting = 2;
ForAppending = 8;

//このファイルが置かれているフォルダのパス名を取得する
function GetBaseFolder(){
    return FSO.GetFolder(".");
}

function Exp()
{
   var IN_FILE = GetBaseFolder() + "\\" + "in.txt"
   var OUT_FILE = GetBaseFolder() + "\\" + "out.txt"

   var s,r,re;
   s = "";
   r = "";

   document.getElementById(‘ReadFileName’).innerText = "インプット=" + IN_FILE;
   document.getElementById(‘WriteFileName’).innerText ="アウトプット=" +  OUT_FILE;

   if(FSO.fileExists(OUT_FILE)){
FSO.DeleteFile(OUT_FILE);
   }

   var RTS = FSO.OpenTextFile( IN_FILE, ForReading, true);
   var WTS = FSO.OpenTextFile( OUT_FILE, ForWriting, true);

   while(1){

     s = RTS.ReadLine( );

     re = /(a)/g;                //Create regular expression pattern.
     r = s.replace(re,  "Q");    //Replace "The" with "A".

     WTS.Write(r);

     s = "";
     r = "";
     if(RTS.AtEndOfStream)
     {
        break;
     }
     WTS.Write("\r\n");
   }

   RTS.Close();
   WTS.Close();
}
</SCRIPT>

<body onload="Exp()" style="height: 244px">

</body>
<div id="ReadFileName"></div>
<div id="WriteFileName"></div>
<div id="content"></div>

文書情報

記事タイトル
【HTA】 FileSystemObjectでテキスト処理 & Jscriptの正規表現で置換処理
作成日
更新日
Source URL
https://papanda925.com/?p=634

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました