• ベストアンサー
  • すぐに回答を!

ATコマンドからエグゼファイルが実行できない

こんにちは。 ATコマンドで毎日10:00時に一回、あるバッチファイルを起動させる登録を行なっています。 しかしバッチファイルからVBで作成したエグゼファイルが実行されていないようです。 エグゼファイル(Project1.exe)は今はテスト用で実行させますとWindowが表示されるだけです。DOSプロンプトから実行させるとWindowはちゃんと表示します。 ログファイルを意図的にはかせてますが、終わりのログがはかれているのでバッチファイル自体は実行されているようなのですが。 どういった原因なのかこころあたりある方よろしくお願いします。 起動するバッチファイル(testbat.bat)の内容 C: echo "start" >C:\test.log Project1.exe echo "end" >C:\test.log

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数1169
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.5
noname#41381
noname#41381

お礼の補足ですが... >しかし、ほんとのエグセの内容はVBでエクセルのマクロをCALLする処理です。 >それは対話はないんですが、、、うまくいくのは事実ですね。 > ログインしているデスクトップにウィンドウを表示させること自体がscheduleサービスとの「対話」になるはずです。 それがたとえ入力要求がないとしてもです。

共感・感謝の気持ちを伝えよう!

質問者からの補足

実はWindowは表示しないようにしてるんですけど それもやっぱり「対話」になるんですね。 「対話」の定義がはっきりしませんよね。

その他の回答 (4)

  • 回答No.4
noname#41381
noname#41381

>つけていません。 >どういう意味なのでしょうか? > では、まず「at xx:xx /interactive c:\testbat.bat」で実行してみてください。 どうでしたか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ほんとですね うまくいきました(^^;) 対話許可モードですか? うーん、サンプルはうまくいくのは納得です。 しかし、ほんとのエグセの内容はVBでエクセルのマクロをCALLする処理です。それは対話はないんですが、、、うまくいくのは事実ですね。 どうしてかはわかりませんが、ありがとうございました。

  • 回答No.3
noname#41381
noname#41381

自信ないですけど... atに「/interavtive」オプションをつけてますか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

つけていません。 どういう意味なのでしょうか?

  • 回答No.2

バッチファイルからは実行できませんね。 私も経験があります。 仕方がないので、VBでshell関数を使い、 バッチファイルを起動するようなEXEを作りました。 これをATコマンドで起動すれば(バッチファイルを)実行出来ます。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

pppstationといいます うまくいくかどうかは分かりませんが Batファイルのなかの、EXE起動部分のパスをフルパスで指定するようにしてみてはどうでしょうか? C:\windows\project1.exe 見たいな感じで うまくいかなかったらごめんなさい

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 外部ファイルを実行するには?

    お世話になります。 vb6で外部のバッチファイルを起動して、それを動作させようとしているのですが、うまくいきません。特にエラーにはならず、一瞬DOSプロントは立ち上がるんですが、バッチ処理しているログにはなにも書き込まれません。普通にバッチファイルをダブルクリックさせるか、コマンドからバッチファイルの入っているフォルダまでいって、バッチファイルを実行すれば書き込まれるのですが。 どこがまちがっているのでしょうか?shellじゃなくて、違う関数を使わなければいけないのでしょうか?ご教授よろしくお願いします。 なお、vb6でテストするときは▸マークの実行を押して、テストしました。 サンプル用のものです。 ↓test 現在の時間をログに記入 ■バッチファイルの中身(test.bat) echo test >> log.txt time/t >> log.txt ■vb6のファイルの中身 Private Sub Command1_Click() Dim ret as long ret = shell("cmd.exe /c C:\test\test.bat",4) End Sub

  • コンソールを実行後に閉じないようにするコマンド

    test.batからTest.vbs というファイルを起動しているのですが、 エラーが出てしまっており、 エラー内容を確認したいのですが DOSプロンプトの画面が閉じてしまって困っています。 cscript C:\tools\Scripts\Test.vbs //I と書いたあとに、 waitとかrestとか なにかもう一行足すとコンソールを閉じずに表示したままにしてくれていた記憶があるのですが、 本当に基本的かつトンチンカンな質問だと思うのですが どなたか教えてください! もしお時間があれば普通はどうやってデバッグするものなのかもヒントをいただけるとうれしいです。 よろしくお願いいたします。

  • DOSのバッチファイルでカレントフォルダを取得するには?

    現在バッチファイルにファイルをドラッグ&ドロップするとそのファイルを処理するようなバッチを組もうとしています。 おおまかな流れとして  1.ファイルのバックアップ  2.test.exeの引数にファイルのパスを渡す といった事をしたいのですが、バッチファイルにドラッグ&ドロップするとカレントフォルダがC:\Documents and Settings\user\になってしまいます。 バッチファイルのある場所をカレントフォルダとするにはどうすればよいのでしょうか。 以下カレントフォルダを確認した結果です。 OS:Windows2000 実行バッチのパス: C:\Documents and Settings\user\デスクトップ\test.bat ---test.bat---- @echo off cd pause test.bat直接起動 C:\Documents and Settings\user\デスクトップ test.batにファイルをD&D C:\Documents and Settings\user 伝わりづらくて申し訳ございません。 宜しくお願い致します。

  • バッチファイルを実行するとエラーが出る

    win2000を利用しています。起動時に自動的にアプリケーションを実行させるバッチファイルを作りたいのですがエラーがでます。 以下のように書いています。このバッチファイルをスタートアップに入れて実行させたいと思っています。 そして試しに手動で実行してみると、構成ファイルが見つからない、パス名を確認してくださいと言ったいエラーが出ます。 パスが間違っているのかと思い、 「C:\Program Files\Internet Explorer\IEXPLORE.EXE」だけをファイル名を指定して実行をするとちゃんとIEが起動します。 何が間違っているのかわからないのですが、ヒントだけでもお願いします。 test.bat(ファイル名) --------------------------- start C:\Program Files\Internet Explorer\IEXPLORE.EXE ---------------------------

  • コマンドの実行結果を変数に格納いしたい。

    有るプログラムへ特定ディレクトリのファイル数を渡す必要があり、バッチファイルを書いてますが、うまく行きません。 アドバイスを頂けましたら幸いです。 コマンドの実行欠課を変数に格納する方法を調べており、FOR文を使う事は分かったのですが、パイプを使った処理がうまく行きません。 ◎実行したいコマンド DIR /B | FIND /C /V "log” ◎バッチファイル @ECHO OFF for /f "usebackq tokens=*" %%i in (`DIR /B | FIND /C /V "log"`) do @set RESULT=%%i echo %RESULT% @ECHO ON パイプを使わず、単純なコマンドだと正常に変数に格納されますので、パイプでFINDに渡している事がだめだと思っております。 こういった場合、どう書けばよいかお教えください。

  • cronでatコマンドがうまく動かない

    こんにちは。RedHat7.0のcronでatコマンドを動かそうとしています。 *********************************************** 00 14 * * * root at -f test.sh 14:30 2001-8-8 *********************************************** こんな感じで書いてあります。 このtest.shも、at -f test.sh 14:30 2001-8-8も、 単体では正常に動いてることを確認しています。 また、cron自体も正常に機能していて、 時間になるとatqでジョブが溜まっているのも確認できます。 var/log/cronでatコマンドが正常にキックされているのも 確認済みです。 でも、test.shの処理が実行できていないんです~。 単体では実行できているのに・・。 ちなみにtest.shの中身は ************************** #!/bin/bash date >aaa.txt ************************** という単純なものです。 crontabに書いた時だけファイルが出来ないのはどういう訳なのか 原因に心当たりのある方、アドバイスいただけないでしょうか。 宜しくお願いいたします。

  • ATコマンドでバッチを実行するとエラーになります。

    よろしくお願いします。 WindowsXP(SP1)、Windows2000(SP4)、Windows2003 ServerからLinuxサーバの共有領域に 接続する為にバッチファイル(AAA.bat)を作成しました。 AAA.batを実行したところ、Linuxサーバに接続する事が確認出来たので、 次にATコマンドでAAA.batを実行したところ下記のメッセージが 表示されました。 「システム エラー 1312が発生しました。  指定されたログオン セッションは存在しません。そのセッションは既に終了している可  能性があります。」 ATコマンドからAAA.bat(共有領域の接続)を実行する場合に、何か注意点がありましたら御教授お願いします。 また、ATコマンドで他のBATファイルを実行したところ正常に動作したので、スケジュールのサービス等には問題なさ そうです。 AAA.bat net use * \\***.***.***.***\coo\log syspass /user:system ※「***.***.***.***」の部分はIPアドレスです。 ATコマンド at 20:12 /interactive c:\test\AAA.bat

  • ATコマンドのVBSを実行方法について

    ATコマンドはコマンドプロント又はバッチファイルで実行する方法だと思っています。 コマンドプロントでVBSの起動文の書き方を教えて下さい。 またVBSでATコマンドの起動方法を教えて頂けませんか よろしくお願いします。

  • ATコマンドに関して

    教えて下さい。 Windows2000でATコマンドを用いてタスクを作成しようと考えていますが、ATコマンドで実行しようとしているexeファイル等がネットワーク上にあった場合は、やはり実行できないのでしょうか。。。 権限がSYSTEMという理由で。。。 仮にできないとした場合、Windows2000で上記のようにネットワーク上にあるexeファイルを実行させるようなタスクを組むコマンドはないでしょうか? GUIではなく、どうしてもコマンドが必要です。 よろしくお願いします。

  • wshで起動したコマンドををタイムアウト終了させる

    たとえば以下のようなバッチファイルとvbsファイルを用意して test.batを実行した場合 ftpのダウンロード処理が完了した後 ダウンロードしたファイルを処理したいのです 以下のようにすれば処理待ちになるのでそこは 実現できるのですが ftp.exeがなんらかの原因で稀に終了しない事があるので そうなるといつまでも処理待ちになってしまうので タイムアウトさせたいのです ftpコマンドをあえてquitしないで(終了しない状態を再現させる) WScript.timeout=10 をいれてみて試してみたのですが タイムアウトが有効になりません ftpのプロセスは最悪残ってしまってもかまわないのですが 起動をかけたバッチファイルのほうは永遠待ち状態ではなく 一定時間応答がなければ次の処理に移したいのです 何かいいタイムアウトの実装方法はないでしょうか? アドバイスお願い致します test.bat cscript test.vbs ←ここでftp.exeが終了しないと永遠待ち状態になってしまう rem ftpが完了後に行いたい処理 exit test.vbs WScript.timeout=10 CreateObject("WScript.Shell").Run "CMD.exe /C ftp -s:c:\cmd.txt", 1, True