batからexeを実行し戻り値を受け取る
EXEの実行内容の結果によって、戻り値を0か1かで返したいのですが、下記のバッチを実行したところ、
実行結果関係なく、EXEが実行できたら0を返すようなコードになってしまいました。
どこを直せば良いかご指摘お願いします。
EXEはVB6.0です。
【バッチ】
@ehco off
Project.exe
echo %errorlevel%
↓↓↓project.exe
【フォーム】
private sub form_load()
'ファイルの存在を確認する
Dim fso As FileSystemObject
Set fso = New FileSystemObject
'ファイルの存在を確認する
If fso.FileExists("C:\Hoge.txt") Then
Call MsgBox("ファイルはあります")
Else
Call MsgBox("ファイルはありません")
End If
【標準モジュール】
Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long)
Public Sub Main()
Dim filePath As String
filePath = Split(Command)(0)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filePath) Then
ExitProcess 0
Else
ExitProcess -1
End If
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> EXEはVB6.0です。
この環境は無いけど、OSに付属してるコンパイラ、
C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe
で、
-----tt.bat-----
@echo off
Test.exe
echo %errorlevel%
-----Test.vb-----
Public Module Test
Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long)
Public Sub Main()
Console.WriteLine("Test")
ExitProcess(2)
End Sub
End Module
だと、きちんと2とか指定の数字が返ってきた。
--
> 実行結果関係なく、EXEが実行できたら0を返すようなコードになってしまいました。
ifの判定に失敗してるって事もあるのでは。
何もせずに数値を返すプログラムで、ExitProcessが機能しているか確認とか。
ExitProcess 0/-1それぞれの前にメッセージボックスか何かで、filepathの文字列とか、どっちに分岐したのかの処理状況表示するとか。
あるいは、実はエラー出てるのに気づかずに、前回作成したexeを繰り返し実行してるとか。
打ち間違いだと思うけど、@echo offが@ehco offになってるし。
その他、ウィルス対策ソフトが作成されたexeを掴むせいで、2回目コンパイルしてもexeを上書きできずにエラーになるような事もあるし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBアプリケーションで終了コードを指定する方法
Visual Basic(VBA)
-
batからexeを起動した際の戻り値について
その他(プログラミング・Web制作)
-
batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ
Visual Basic(VBA)
-
-
4
VBからBATファイルを起動して戻り値の取得方法
Visual Basic(VBA)
-
5
exe間での引き値の受け取り方法
Visual Basic(VBA)
-
6
VBAでEXEファイルを動かす方法について
Visual Basic(VBA)
-
7
バッチファイルからタスクスケジュールに値を返す
iOS
-
8
実行結果を戻り値で取得したい
その他(ソフトウェア)
-
9
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
PDFファイルを開き、印刷し、閉...
-
「読み取りと実行」と「読み取...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
バッチファイルの内容を表示さ...
-
ネットワーク名が見つかりません
-
エクセル フォルダの画像を画...
-
[teraterm] waitコマンドで停止...
-
Accessからバッチ処理を実施し...
-
VScodeのエラー解決法 Pythonの...
-
pythonスクリプトを管理者権限...
-
VBScriptでコマンドプロンプト...
-
フォルダを閉じる
-
Excel(エクセル) VBA プロシー...
-
バッチファイルが不正終了して...
-
これってパソコンの最適化が完...
-
+Lhaca バッチファイル 自動...
-
メッセージを他のPCに出したい
-
16進数の変換処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
VBscriptが起動しない?
-
exeファイルを実行するとコマン...
-
これってパソコンの最適化が完...
-
[teraterm] waitコマンドで停止...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
【VB.NET】exeを実行すると「発...
-
PDFファイルを開き、印刷し、閉...
-
VScodeのエラー解決法 Pythonの...
-
Excel(エクセル) VBA プロシー...
-
ネットワーク名が見つかりません
-
バッチファイルが不正終了して...
-
エクセル フォルダの画像を画...
-
NASに移したBATファイルからセ...
-
VBScriptでコマンドプロンプト...
-
pythonスクリプトを管理者権限...
-
Excel VBA ステップインが途中...
-
複数のbatファイルを自動実行し...
-
16進数の変換処理
おすすめ情報