VBScript でコンソール出力する方法をまとめます。 なお、この方法は CScript.exe でスクリプトを実行したときのみ使えます。WScript.exe で実行すると、実行時エラー(ハンドルが無効です)になります。 標準出力への出力 標準出力に出力するには次の2つの方法があります。 WScript.Echo メソッドを使う WScript.StdOut プロパティで標準出力を扱う WScript.Echo メソッドを使う WScript.Echo メソッドは、指定した文字列と改行文字を標準出力へ出力します。 WScript.Echo "Hello World" WScript.Std…
スクリプトファイルが長くなるとメンテナンスがしにくくなる。できれば別ファイルに処理を切り出して管理したい。 ExecuteGlobal ステートメントを使うことで、別ファイルに切り出した関数を呼び出せるようにできる。 (いわゆるインポートというやつが可能になる) 別ファイルの関数を呼び出せるようにするには、次の2ステップで処理する。 ファイルを読み取る 読み取った内容を ExecuteGlobal ステートメントで実行する 次のスクリプトは、別ファイルの関数を利用するサンプルである。 separate-script.vbs に定義された SayHello を呼び出している。 '別ファイルのスク…
VBScript は簡単に書けるけどデバッグ実行が面倒なんだよね、というあなたへ。 スクリプトの実行時にオプション //X を付けると、Visual Studio でデバッグ実行ができる。 WScript.Echo() でデバッグ出力しながらテストする生活とは、これでサヨナラである。
ローカルコンピュータで使用できるドライブオブジェクトのコレクションを取得するには Drives プロパティを使う。 fso.Drives 以下のスクリプトは、ローカルコンピュータで使用できるドライブを出力する。 Dim drive For Each drive In fso.Drives WScript.Echo drive.Path Next ↓ 出力結果イメージ C: D: E:
ドライブオブジェクトを取得するには GetDrive メソッドを使う。 Dim drive Set drive = fso.GetDrive( DriveSpec ) DriveSpec には取得するドライブを指定する。 戻り値としてドライブオブジェクトが返る。 存在しないドライブを指定、あるいはフォルダやファイルのパスを指定した場合、実行時エラーが起きる。
ドライブが存在するか確認するには DriveExists メソッドを使う。 fso.DriveExists( DriveSpec ) DriveSpec にはドライブ文字を指定する。 ドライブが存在する場合は True 、そうでない場合は False が返る。 引数に指定するのは、ドライブ文字だけにすること。 次の書き方であれば True が返る。 fso.DriveExists("C") fso.DriveExists("C:") fso.DriveExists("C:\") パスを指定してしまうと False が返る。 そのパスのドライブが存在したとしても False 。 fso.Driv…
フォルダを作成するには CreateFolder メソッドを使う。 Dim newFolder Set newFolder = fso.CreateFolder( Path ) Path には作成するフォルダのパスを指定する。 戻り値は作成されたフォルダのオブジェクト。 すでに存在するパスを指定すると実行時エラーが起きる。
フォルダを削除するには DeleteFolder メソッドを使う。 フォルダ内のコンテンツ有無は関係なしに削除される。 fso.DeleteFolder( FolderSpec [, Force]) FolderSpec には削除するフォルダのパスを指定する。 存在しないフォルダを指定した場合は実行時エラーが起きる。 Force に True を指定すると読み取り専用であっても削除する。 False の場合は削除しない。 既定値は False 。
フォルダを移動するには MoveFolder メソッドを使う。 fso.MoveFolder( Source, Destination ) Source には移動元フォルダのパス、Destination には移動先のパスを指定する。 移動先がすでに存在する場合は実行時エラーが起きる。
フォルダをコピーするには CopyFolder メソッドを使う。 fso.CopyFolder( Source, Destination [, OverWriteFiles] ) Source にはコピー元フォルダのパス、Destination にはコピー先のパスを指定する。 OverWriteFiles に True を指定した場合、コピー先がすでに存在するときは上書きされる。 False を指定した場合、実行時エラーが起きる。 既定値は True 。