バッチ(a.bat)を実行し、
このバッチの中で、ファイルのコピーをしようと考えています。
ここでvbs側でbat内のコピーに成功したか、失敗したかを
把握したく以下のようなコードを作成しました。
----以下、test.vbs---
Set WSHShell = WScript.CreateObject("WScript.Shell")
cmd = "D:\a.bat"
return = WSHShell.Run(cmd)
msgbox return
----以上、test.vbs---
----以下、a.bat---
@echo off
copy a.txt a2.txt
----以上、a.bat---
この内容で実行を試みたところ、
ファイルコピーの成否にかかわらず、
vbsで表示される実行結果(return)の値は、
常に0となってしまいます。
ファイルコピーの成否により、
実行結果を反映させるにはどのようにすればよろしいでしょうか。
どうぞよろしくお願い致します。
Runメソッドの4番目の引数として true を渡せば、起動したアプリの戻り値が帰ります。falseの場合は起動したアプリの実行結果を待たずしてRunメソッドは終了し、無条件に0を返します。
Runメソッドの4番目の引数として true を渡せば、起動したアプリの戻り値が帰ります。falseの場合は起動したアプリの実行結果を待たずしてRunメソッドは終了し、無条件に0を返します。
3番目の引数に渡すことで解決できました
ありがとうございました。
3番目の引数に渡すことで解決できました
ありがとうございました。