VBScript - コンソール入力
VBScript - コンソール入力
VBScript でコンソール入力を読み取る方法をまとめます。
なお、この方法は CScript.exe でスクリプトを実行したときのみ使えます。
WScript.exe で実行すると、実行時エラー(ハンドルが無効です)になります。
標準入力を読み取る
標準入力を扱うには WScript.StdIn プロパティを使います。
WScript.StdIn プロパティを使って標準入力を読み取るには、次のメソッドとプロパティを利用します。
- Read メソッド - 指定した文字数を読み取る
- ReadAll メソッド - すべて読み取る
- ReadLine メソッド - 1行読み取る
- Skip メソッド - 指定した文字数の読み取りをスキップ
- SkipLine メソッド - 次の行の読み取りをスキップ
- AtEndOfLine プロパティ - 行の最後に到達したかどうか
- AtEndOfStream プロパティ - 入力データの最後に到達したかどうか
- (いまいち使いどころが分からない。True になることはあるのか?)
例)改行文字を読み取るまで1文字ずつ読み取る
Do While Not WScript.StdIn.AtEndOfLine
WScript.Echo WScript.StdIn.Read(1)
Loop
例)1行読み取る
Enter を入力すると、それまでに入力したデータがすべて出力されます。
WScript.Echo WScript.StdIn.ReadLine
例)一括で最後まで読み取る
Ctrl + Z を入力すると、それまでに入力したデータがすべて出力されます。
WScript.Echo WScript.StdIn.ReadAll
例)指定した文字数の読み取りをスキップする
5文字の読み取りをスキップし、それより後ろの文字列を出力します。
たとえば “ABCDEFG” と入力した場合、“FG” と出力されます。
WScript.StdIn.Skip 5
WScript.Echo WScript.StdIn.ReadLine
StdIn の実体は TextStream
StdIn の実体は TextStream オブジェクトです。
WScript.Echo TypeName(WScript.StdIn)
' → TextStream
TextStream オブジェクトのメソッドやプロパティが使えるはず。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
ことりと さんにチップを送りました
チップをありがとうございます。
メッセージは管理画面から確認できます。
酒とアクアリウムが最近の楽しみ。
このクリエイターの人気記事
最新記事
TOPVIEWの人気記事
おすすめの記事
この記事にコメントをしてみませんか?