• 締切済み

タスクスケジュールから毎時バッチファイルを実行し、現在時刻から+1時間値を取得しファイルに書き出す方法

初めてお世話になります。現在、古い自動データ回収システムのお守りを頼まれ困っております。 現仕様は日一回の指定時刻が書き込まれたパラメータファイルを読み込んで回収プログラムが起動します。それを毎時回収に改修する必要があります。 そこでタスクスケジュールから毎正時数分前にバッチファイルを実行し、現在時刻から+1時間値(時分加算する)を取得しパラメータファイルに書き出す方法を考えましたが、バッチファイルのコーディングをよく知らないため困っております。 どなたか教えて頂けたら幸いです。 ファイル仕様 ~~~~~~~~~~~ TIME:0600←改修対象(形式:hhmm)0000~2350 PATH1:C:DATA1←固定値 PATH2:C:DATA2←固定値 PARA1:COM1←固定値 PARA2:2400←固定値 ~~~~~~~~~~~

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

1時間ごとのパラメータファイルを24個作っておいて、1時間ずつずらしたタスクを24個登録するほうが手っ取り早かったりして。

参考URL:
http://homepage1.nifty.com/jak/batch/time.html

関連するQ&A

  • バッチをタスクで実行

    お世話になります。 現在、XP端末にてバッチをタスクスケジューラにて実行してます。 3分間隔で実行しておりますが、タスクにバッチファイルを直接指定するとプロンプト画面が表示されてしまうため、バッチファイルのショートカットを作成し、タスクにはそのショートカットを指定しております。 で、今回Win7端末に当該タスクを移行するのですが、XP端末よりバッチファイル及びショートカットをコピー致しました。タスクスケジューラに登録しようとしましたが、XPと何か違います。。 XPだと『実行するファイル名』の箇所にショートカットを指定することができますが、Win7だとショートカットを指定しても、バッチファイルのパスに変わってしまいます。 例えば、c:\test.batへのショートカット.lnk を選択しても、c:\test.bat に変わります。 よって、タスクが実行されるとプロンプト画面が表示されることになります。 なお、手動でパス(c:\test.batへのショートカット.lnk)を入力し、タスクを実行すると実行結果が『指定されたファイルが見つかりません』とエラーになってしまいます。 パスを:\test.batへのショートカット としても同エラーになります。 どのようにすれば、タスクにショートカットを指定できるのでしょうか。 ご教授の程、宜しくお願い致します。

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

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

  • バッチファイルの親フォルダを取得するには

    WindowsのDOSコマンドを用いたバッチファイルで、バッチファイルと同じフォルダにある実行ファイルを起動したいのですが、どのようにするのがよいのでしょうか? 実行ファイルのファイル名は既知で固定なので、バッチファイルの親フォルダが取得できれば、連結して起動すればよいです。 しかし、バッチファイルの親フォルダの取得方法が分かりません。 カレントフォルダは%CD%で取得できるのですが、バッチファイルの親フォルダがカレントフォルダとは限りません。 バッチファイルのフルパスは%0で取得できるのですが、そこからフォルダ部のみを抽出する方法が分かりません。 よろしくお願いします。

  • 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 伝わりづらくて申し訳ございません。 宜しくお願い致します。

  • バッチファイル 二つ上のディレクトリのパス取得

    "C:\test\sample\a.bat"を実行した時 %~dp0 で C:\test\sample\ と展開できるのですが、 この時 C:\test\ というパスを取得するにはどうすればいいでしょうか? バッチファイルから二つ上のディレクトリのパスを取得する方法を教えていただきたいです。 よろしくお願いします。

  • バッチファイルからftpを実行時に処理完了を待たない方法

    ある市販のjava系のアプリから時間起動でバッチファイルを起動します そのアプリは同時に複数のバッチファイルを起動できない仕様で ある外部プログラム(バッチファイル)を起動したら処理の完了を 待ってから次の処理バッチファイルを起動するのです 同時起動はできません なので最初に起動したバッチファイルがフリーズしてしまうと 次のバッチファイルが起動できずに永遠と待ち状態になってしまうんです そのソフトのメーカーに問い合わせしてみたのですが 呼び出し側はタイムアウトさせるような設定はない仕様なので 呼び出ししたプログラムのほうでタイムアウトするようにして下さい という回答でした なんとか回避しようと そのバッチファイルは ftp -s:c:\cmd.txt というようにftpコマンドを利用しているのですが (稀に何らかの原因でftpがフリーズしてしまう現象があります) ftpコマンドがフリーズしてしまったらどうしょうもないですよね・・・ この現象を回避したくて バッチファイルを start ftp -s:c:\cmd.txt exit に変更しました こうすればftpの完了を待たずにバッチファイルが終了するので たとえftpの処理が一つフリーズしてしまったとしても 別のバッチファイルの起動は問題なく行えると考えたからです しかしその市販アプリが内部的にどのようにバッチファイルを起動しているかわからないのですがテストしてみましたところ (ftpのコマンドをわざとquitしないようにして終了しないftp処理にして バッチファイルを起動してみたのです) 結果としては起動したバッチファイルが完了したとはみなしてくれず 次のバッチファイル起動ができないまま永遠に待ち状態になってしまいました・・・ バッチファイルからftpコマンドを別プロセスで起動する (ftpの完了を待たずにバッチファイルを終了させる) という事はできないでしょうか? アドバイスお願い致します

  • 実行ファイルからバッチファイルを作成、そのバッチファイルが実行できない

    環境はWindowsXPPro+gccです Cの実行ファイルにjavaファイルを引数で渡し そのファイル名に合ったバッチファイルを作成するプログラムで 作成後エクスプローラからバッチファイルを実行しても 「指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。」 と出てバッチを実行できません しかし、DOSを開き、そのパスまで行きバッチファイルを実行するか、 このバッチファイルをコピーし実行するときちんと実行されます。 なぜでしょうか? なにかお気づきする点がありましたら指摘お願いします。 ※文字数制限で宣言省いています int main(int argc,char *argv[]) { strcpy(fpath,argv[1]); flen=strlen(fpath); strncat(ftype,&fpath[flen-5],5); if(strcmp(ftype,".java")!=0){ printf("Don'tjavafiletype!!\n"); printf("%s",ftype); return0; } for(i=0;i<flen;i++){ if(fpath[i]=='\\'){ flast=i; } } strncat(fname,&fpath[flast+1],flen-flast-6); strncat(fpath2,fpath,flen-5-strlen(fname)); sprintf(html,"<html>\n" "<body>\n" "<appletcode=\"%s.class\" width=\"200\" height=\"200\"></applet>\n" "</body>\n" "</html>\n",fname); sprintf(bat,"cd%s\n" "javac %s.java\n" "appletviewer %s.html\n",fpath2,fname,fname); strcpy(fhtml,fpath2); strcat(fhtml,fname); strcat(fhtml,".html"); fn=fopen(fhtml,"w"); flen=strlen(html); for(i=0;i<flen;i++){ fputc(html[i],fn); } fclose(fn); strcpy(fbat,fpath2); strcat(fbat,fname); strcat(fbat,".bat"); fn2=fopen(fbat,"w"); flen=strlen(bat); for(i=0;i<flen;i++){ fputc(bat[i],fn); } fclose(fn2); return0; }

  • vbsからバッチファイル実行時の引数渡しについて

    vbsからバッチファイルを実行する時に、引数として変数を渡すことはできるでしょうか。バッチファイルは引数を受け取れる記述をしています。変数の値は常に変動します。 CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat",0 を使ってtest.batを実行しています。"C:\HULTOOL\test.bat aaa(aaa)は固定の数値ですという書き方で、バッチファイルがaaaを第一引数として受け取れることは試してできました。しかし、aaaを変数にすると成功しません。何かよい記述方法はあるのでしょうか。ご教授ください。

  • MS-DOSバッチファイルにおけるパラメータ入力

    初歩的な質問で失礼します。 abc.exe という実行ファイルがパラメータとして 「para1,para2,para3」と3つのパラメータを 持っていたします。 そこで、  abc.exe para1 para2 para3 とコマンド投入するのではなく、バッチファイルで実行したいのです。 さらに、実行する際には、 **************************** > abc.exe を実行します > para1 を入力して下さい  (→aaaを入力) > para2 を入力して下さい  (→bbbを入力) > para3 を入力して下さい  (→cccを入力) **************************** といった具合に、各パラメータのキーボード入力を個々に待ち合わせるようにしたいの ですが、このようなことは可能でしょうか? 又、可能な場合バッチファイルはどのように作成すればよろしいでしょうか?

  • バッチファイルのログ出力方法

    バッチファイルのログ出力方法 サーバーに置いてあるmdbファイルを各クライアント端末のデスクトップ(複数台)にコピーする バッチファイルを作成しています。 COPY /Y "C:\(コピー元の絶対パス)\コピーファイル.mdb" \コピー先の絶対パス でファイルのコピーができることが確認で見ました。 例えば、正常にコピーができたのか、何らかの理由(PCが落ちていたetc)でコピーができなかったのかを ログで出力したいのですが、どのようにコーディングすればよいでしょうか? ログの出力場所は「.batファイルと同じディレクトリー」にしたいです。 一生懸命調べたのですが… 素人なので分かりませんでした。 皆様宜しくお願いいたします。

専門家に質問してみよう