テキストファイル内容操作
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は末尾に改行コードが入る。
<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>
<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>
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)に無断で複写、複製、転載することを禁じます。