- - PR -
ASP.NETからバッチファイルの実行
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-01-21 10:43
お世話になっております。ASP.NET初心者でございます。
現在、ASP.NETにてサーバにあるバッチファイルの実行をしようとしています。 Processクラスを使用したコーディングをしているのですが、途中でフリーズしてしまいます。 以下が問題のコードです。 Dim proc As New Process proc.StartInfo.FileName = "c:\test.bat" proc.Start() proc.WaitForExit() proc.Kill() proc.Close() 「proc.WaitForExit()」でフリーズしてしまいます。 バッチファイルは、コマンドプロンプトから単独で実行することができているので問題はないと思います。 Processクラスを使用しなくてもバッチファイルの実行を待機してくれる方法があれば手段を問わない状況です。 単純な問題なのかもしれませんが、大変困っている状態ですので皆さんのお力をおかりできればと思います。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-01-21 11:38
そもそも
バッチファイルが本当に動いているか確認したほうがよいのでは。 | ||||||||
|
投稿日時: 2005-01-21 11:47
返答ありがとうございます。
同じロジックをWindowsアプリケーションで実行してみると問題ありませんでした。 バッチファイルも問題なく実行されています。 ASP.NETで実行したい場合は何か特別なことが必要のように思えます。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-01-21 11:50
だから、
と聞いているんです。 | ||||||||
|
投稿日時: 2005-01-21 12:27
バッチファイルを動作させるためにCMD.EXEがプロセスとして立ち上がっているはず。そのCMD.EXEが終了していないんじゃないの?WINDOWSアプリケーションから同じロジックを動作させて問題が無い(CMD.EXEのプロセスがちゃんと終了する)と言うことは、CMD.EXEは起動しているけどBATファイル自体は動作していないんじゃないの?
そのBATファイルにはちゃんとASP.NETからのアクセス権限が割り当てられているの? _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||||||
|
投稿日時: 2005-01-21 16:31
お騒がせ致しました。
バッチファイルの中身は、フリーソフトを実行しZIPファイルの解凍をするものだったのですがご指摘のあった通りアクセス権限の問題でした。 ロジックは「vjslib.dll」を使用するように修正することで解決しました。 皆様の大切な時間を無駄にすることになってしまい大変申し訳ございませんでした。 また、貴重なご指摘ありがとうございました。 |
1