- ベストアンサー
VBSCRIPTでcmd命令(dir)を実行させて
パスはcsvファイルで読みこんで、vbs上で Set Shell = CreateObject("WScript.Shell") Shell.Run "cmd /C ""dir \¥xxx\xxxxx\xxxxx" を実行させてアクセスできなかったパスがぞんざいするならエラーで返して続いて実行してほしいです。 それで最後にログにエラー情報を書く処理をおこないたいです。問題はcmdだとecho %errorlevel%これを使えば すぐにこげたことを1か0で返してくれますが vbs上でも可能ですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ret = Shell.Run(コマンド, 1, true) のようにすればアプリケーションから返されるエラーコードを取得できます。 第3引数の true 、は、アプリケーションの実行が終了するまで待つ指定です。省略すると、実行終了を待たないので、ret は、エラーの有る無しに関係なく無条件に0になります。質問文のような場合は、true を指定する必要があります。 ちなみに、 Shell.Exec でコマンドを実行する場合は、 StdIn,StdOut,StdErr(ストリーム) で標準入力、標準出力、標準エラー出力にアクセスできます。
お礼
いつもお世話になります。 早くて正確なアドバイスありがどうございます。 ret = Shell.Run(コマンド, 1, true) 後ろの1、trueが非常にいいヒントになりました。 いつもありがとうございます。