AtEndOfStream プロパティ
入力ストリームの最後に達したかどうかを示すブール値を返します。
object.AtEndOfStream
引数
- object
StdIn テキスト ストリーム オブジェクトです。
解説
AtEndOfStream プロパティには、入力ストリームの最後に達したかどうかを示すブール値が格納されます。AtEndOfStream プロパティは、ストリーム ポインタが入力ストリームの最後を指している場合は True を返し、それ以外の場合は False を返します。StdIn、StdOut、および StdErr のプロパティとメソッドは、スクリプトを CScript.exe で実行した場合にのみ動作します。WScript.exe を使ってスクリプトを実行すると、エラーが発生します。
使用例
次のコードは、"dir" から標準のディレクトリのリストを読み込み、実際の入力ではない上下の行を削除し、ディレクトリ入力を 1 行おきに出力する AtEndOfStream プロパティの使用例です。
VBScript
Dim StdIn, StdOut, Str1, Str2
Set StdIn = WScript.StdIn
Set StdOut = WScript.StdOut
Str1 = ""
Str2 = ""For i = 0 to 4
StdIn.SkipLine
Next
i = 0
Do While Not StdIn.AtEndOfStream
If i >= 2 Then
StdOut.WriteLine Str1
End If
i = i + 1
Str1 = Str2
Str2 = StdIn.ReadLine
Loop
JScript
var stdin = WScript.StdIn;
var stdout = WScript.StdOut;
var str1, str2 = "";
var i;
for (i = 0; i < 5; i++)
stdin.SkipLine();
i = 0;
while (!stdin.AtEndOfStream)
{
if (i++ >= 2)
{
stdout.WriteLine(str1);
}
str1 = str2;
str2 = stdin.ReadLine();
}