- PR -

ASP.NETからバッチコマンドの実行

投稿者投稿内容
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2006-03-07 02:51
ASP.NET2003で教えてほしいことがございます。
画面のボタンを押したときに別のプログラム(.bat)を起動しようとおもい
shellで以下のように組みましたが、エラーも出ずに処理が終わってしまいます。
(実際のバッチのプログラムは動いていません、ASPからでなく単独でバッチを実行すると動くのは確認しています)

Shell("C:\\Test\\test.bat", AppWinStyle.NormalFocus, True)

バッチプログラムはVB.NET2003で作成したexeをキックしているだけです。

どなたか、ご存知の方、よろしくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-07 03:14
引用:

Natsumeさんの書き込み (2006-03-07 02:51) より:

ASP.NET2003で教えてほしいことがございます。
画面のボタンを押したときに別のプログラム(.bat)を起動しようとおもい
shellで以下のように組みましたが、エラーも出ずに処理が終わってしまいます。


サーバ側で起動ということで良いのですね。

  バッチファイルの起動について

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2006-03-07 07:12
Dim myprocess = New System.Diagnostics.Process
myprocess.StartInfo.FileName = "C:\Test\test.bat"
myprocess.Start()

このようにしてみましたが、起動しておりません。
もう少し調べてみます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-07 09:07
引用:

Natsumeさんの書き込み (2006-03-07 07:12) より:

Dim myprocess = New System.Diagnostics.Process


遅延バインディングになってしまってますね。
Dim myprocess As New System.Diagnostics.Process()
ですね。

引用:

このようにしてみましたが、起動しておりません。
もう少し調べてみます。


バッチの中で何をやっているんでしょう。
notepad.exe だとどうでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2006-03-07 11:14
実行したいファイル群に対するアクセス権は
妥当ですか?

IIS5.0/5.1ならASPNET
IIS6.0ならNETWORK SERVICE

のアクセス権が実行したいファイルに対してあるかどうか
確認してください。
_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2006-03-07 22:54
みなさん、いろいろと情報ありがとうございます。
Dim myprocess As New System.Diagnostics.Process
myprocess.StartInfo.FileName = "C:\\Test\\test.bat"
myprocess.Start()

test.batの中身を"notepad.exe"に変更してみましたが、実行されませんでした。
また、IIS5.1ですのでASPNETの権限を
C:\\Test\\test.bat
notepad.exe
両方に与えてみましたが、実行されませんでした。

何かほかに考えられることなどございましたら、アドバイスお願いいたします
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-03-08 10:48
「バッチプログラム」や「VB.NET2003で作成したexe」は正しく動くことは確認しているんですよね。
"test.bat2"などと存在しないファイル名を指定したら例外が出ますよね?

やっぱり起動はしてるんじゃないでしょうか。
じゃんぬねっとさんの質問の答えが無いようなので確認しますけど、
サーバーのタスクマネージャのプロセス一覧で、ユーザー名がASPNETのものを見てみても、notepad.exeなどは見つからない」
ということを確認しているわけですね?
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-03-08 11:12
素人の横やりでごめんなさい。
引用:

一郎さんの書き込み (2006-03-08 10:48) より:

やっぱり起動はしてるんじゃないでしょうか。
じゃんぬねっとさんの質問の答えが無いようなので確認しますけど、
サーバーのタスクマネージャのプロセス一覧で、ユーザー名がASPNETのものを見てみても、notepad.exeなどは見つからない」
ということを確認しているわけですね?



私も気になったので確認してみましたが、一郎さんがおっしゃられている通り、「サーバ側では」メモ帳は起動しますね。ただ、プロセスとして起動しており、画面上は見えないですけど。それだけの問題?!
<関係ありませんが、私の場合、サーバ=自端末です>

スキルアップ/キャリアアップ(JOB@IT)