テキストファイル内容操作




COPY − テキストファイルの連結

ここではsub.txtというテキストを、test.txtに連結している。

<BAT>
copy /b test.txt + sub.txt  test.txt

<VBS>
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set su = fs.OpenTextFile("sub.txt")
suStr = su.ReadAll

Set te = fs.OpenTextFile("test.txt", 8, False) '8=ForAppending, False=noCreate
te.Write suStr

te.Close
su.Close

<JS>
fs = WScript.CreateObject("Scripting.FileSystemObject");
su = fs.OpenTextFile("sub.txt");
suStr = su.readAll();

te = fs.OpenTextFile("test.txt", 8, false); //8=ForAppending, false=noCreate
te.Write(suStr);

te.Close();
su.Close();



ECHO − テキストファイルの新規作成

内容がカラのempty.txtというファイルと、"ABCDE"と書かれたabc.txtを作成する。

<BAT>
echo off > empty.txt
echo ABCDE> abc.txt

カラのファイルの作成はCDの項も参考のこと。

<VBS>
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile "empty.txt"
Set abc = fs.CreateTextFile("abc.txt")
abc.Write "ABCDE"
abc.Close

<JS>
fs = WScript.CreateObject("Scripting.FileSystemObject");
em = fs.OpenTextFile("empty.txt", 2, true); //2=ForWriting, true=create
abc = fs.OpenTextFile("abc.txt", 2, true);
abc.Write("ABCDE");
em.Close();
abc.Close();

VBS版はCreateTextFileを用い、JS版ではOpenTextFileを使ってみた。



ECHO − テキストファイルへの追加書きこみ

既存のabc.txtというファイルに、"VWXYZ"という文字列を追加書きこみする。

<BAT>
echo VWXYZ>> abc.txt

echoは末尾に改行コードが入る。

<VBS>
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set abc = fs.OpenTextFile("abc.txt", 8, False) '8=ForAppending, False=noCreate
abc.Write "VWXYZ"   '改行コード入らない。
abc.Close

<JS>
fs = WScript.CreateObject("Scripting.FileSystemObject");
abc = fs.OpenTextFile("abc.txt", 8, false); // 8=Appending, false=noCreating
abc.WriteLine("VWXYZ");     //改行コード入る。
abc.Close();



FIND − テキストファイル中の文字列検索

"sub.vbs"というテキストファイル内の"Item"という語句を含む行を表示させてみる。

<BAT>
find "Item" < sub.vbs  

<VBS>
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("sub.vbs")

Do Until f.AtEndOfStream
    l = f.ReadLine
    If InStr(l, "Item") <> 0 then ret = ret & l & vbCrLf
Loop

f.Close
WScript.Echo ret

<JS>
fs = WScript.CreateObject("Scripting.FileSystemObject");
f = fs.OpenTextFile("sub.vbs");

var ret = "";
while(!f.atEndOfStream){
    l = f.readLine();
    if(l.indexOf("Item") != -1){
         ret += l + "\n"; 
    }
}

f.Close();
WScript.Echo(ret);



TYPE − テキストファイルの内容表示

<BAT>
type sub.vbs

VBS版では次のように、メモ帳で表示してみる。

<VBS>
Set shell = WScript.CreateObject("WScript.Shell")
shell.Run "notepad.exe sub.vbs"

表示するファイルの拡張子が txt などであれば、次のようにファイル名のみRunすれば、関連付いたテキストエディタで開かれる。Runの引数に関してはSTARTの項も参照のこと。

Set shell = WScript.CreateObject("WScript.Shell")
shell.Run "sub.txt"

JS版ではEchoを用いてみる。

<JS>
fs = WScript.CreateObject("Scripting.FileSystemObject");
f = fs.OpenTextFile("sub.vbs");

ret = f.ReadAll();
f.Close();
WScript.Echo(ret);


もくじへ

元のページに戻る

当Webページの一部または全部を筆者(saikawa)に無断で複写、複製、転載することを禁じます。