• 締切済み

タスクスケジューラでバッチを起動させたい

環境:Windows2008Serv. マイドキュメント配下にあるバッチをタスクスケジューラで 毎日一回起動させようと思っていますが、 思ったとおりの動作をしてくれません。 バッチの中身はWindowsのイベントログをテキストファイルに 吐き出すものです。 吐き出すテキストファイルはDドライブを指定しています。 バッチファイルを直接たたくと、Dドライブの指定の場所で テキストは作成されているのですが、 タスクスケジューラで指定した時刻が来ても、 テキストは作成されません。 タスクスケジューラの履歴を見ると、バッチ起動とバッチ完了と いう履歴が残っています。 又、タスクスケジューラから、作成したタスクを右クリックして 『実行』して見ても、履歴はきちんと完了までなっていますが、 実際には、テキストが作成されません。 開始オプションも色々なパスを試しましたがだめでした。 どなたか、タスクスケジューラでバッチを起動させる方法の分かる方 いらっしゃいませんか。

みんなの回答

  • pc_net_sp
  • ベストアンサー率46% (468/1003)
回答No.3

全角フォルダー名が混ざる時は、「”」でくくると上手くいく場合があります。 "C:\Documents and Settings\Administrator\My Documents\バックアップ.bat" バッチファイルも "D:\バックアップ\・・・" など・・・ 半角文字を使っていても、半角スペースが入ると上手くいかないと気があります。そういう時は「”」を使うと上手くいきます。 Win2003の場合ですが、、、   おひまな時、試してみて下さい。     

noname#150436
noname#150436
回答No.2

解決してよかったです。 プログラム関連の場合はファイル名はできるだけ半角英数小文字が安全ですからこれからはそのようにするとエラーが少ないと思います。 初歩的な事ですが覚えておくと役に立つと思います。

noname#150436
noname#150436
回答No.1
yosihioo
質問者

お礼

開始オプションで、作業ディレクトリを設定して、バッチがカレントディレクトリで作業するようにしたのですが、それでもテキストファイルが作成されませんでした。 情報提供、どうもありがとうございます。

yosihioo
質問者

補足

バッチのファイル名を日本語から半角英数字にしたら、起動されるようになりました。 ありがとうございました。

関連するQ&A

  • タスクスケジューラからのバッチ起動

    タスクスケジューラからのバッチ起動で動作せず困っております [環境] ・windows server 2008 システムディスク:C ・共有ディスクをLANにて接続 ネットワークドライブとしてD:に設定 [動作概要] ・バッチ(*.vbs,*.bat)、データ、ログをD:に配置 ・タスクスケジューラに*.vbsを登録 ・*.vbsからD:にある*.batを起動(WScript.Run) [事象] ・*.vbsをGUIよりダブルクリック/エンターキーでは問題なく起動 ・*.vbsをタスクスケジューラから起動するととまってしまう ・*.vbs内の*.batコール箇所をコメントして実行で動作は最後まで終了 ・*.bat単体で動作させても問題なく終了 ・*.batをタスクスケジューラで起動するととまってしまう *.bat内で(>D:)などのディレクトリ移動コマンドを入れてもとまってしまう [原因推測] ・タスクスケジューラからネットワークドライブが認識できない? ・*.vbsで実施するWScript.Runの実行者がsystemで、 ネットワークドライブの認識用の環境情報(unixでいうcshrcみたいなもの)を 読み込まないで動作する? [問] ・上記構成では動作ができないのでしょうか? ・実現可能な方法があればヒントでもほしい 大変複雑な内容になって申し訳ありませんが 何か察することがあればコメントください

  • タスクスケジューラについて

    初めてこのサイトを利用します。 タスクスケジューラの挙動について質問です。 あるバッチファイルを1時間に1回実行するためのタスクを作成しました。思った動きをせず詰まったためご教示していただきたく、宜しくお願い致します。 事象:タスクスケジューラで設定したタスクでバッチを実行すると何時間たっても処理が完了しない 詳細 ①単体(手動での実行)ではバッチは動き処理は40分ほどで完了しファイルも反映されます。 ②タスクスケジューラの設定で ・ログオンしているときのみ実行をチェックすると ログオンしていませんとタスクの実行履歴欄に表示されてタスクは実行されません。 ただし、たまに実行される時があります。おそらくこれがログオンしているタイミングかと予想しています。 ・ログオンしていない場合でも実行する必要があるため、 ログオンしているかどうかにかかわらず実行するをONにすると何時間たっても処理が完了しません。タスクは実行中の状態でエラーも出ません。バックグラウンドで監視していてもパワーシェルは動いておらずファイルは反映されません。 ※1 ➄には常にチェックをつけています 付けていなくてもつけていても上記の事象に変わりはありません ※2 バッチファイルはCドライブに保管 タスクスケジューラの実行するプログラムの開始欄にパスも記載済 こちらの事象についてログオンしているかどうかにかかわらず実行するをONにした場合でも処理が正常に終了させる方法があれば教えていただきたく宜しくお願い致します。 ※備考 バッチファイルの中身は、32bit版powershellを起動し指定のコマンドを打ち込み実行 という処理を開始するものです。 現在、AzureFileSyncというAzure上のファイルと外付け機器とのファイル同期サービスを使用しているのですが、変更履歴をチェックする周期が24時間に1回の為、即時で反映させたいときに不便です。そこで、Microsoftより配布されている即時反映用のコマンドをパワーシェルで打ち込んで実行するバッチファイルを作成しこれをタスクスケジューラで設定しようと試みている最中でこの事象にぶつかりました。

  • WinSCPがタスクスケジューラで起動しません

    WinSCPを使って、レンタルサーバー内のファイルのローカルへの自動バックアップを試みています。 バッチを作成し、ダブルクリックで起動させるとうまくいくのですが、自動化のためにタスクスケジューラに登録するとうまく動作しません。 まず、 『backup.bat』というバッチを作成しました 中身は、 "C:\Program Files (x86)\WinSCP\WinSCP.exe" test@sample.jp /console /script=.\backup.script です。 『backup.script』の中身は open test:password@sample.jp cd /var/www/html/bactest lcd "C:\Users\○○○○\Documents\backupテスト\backup" synchronize local -delete close exit です。 backup.batをタスクスケジューラに登録し実行時間になると、backup.batの中身が一瞬表示された後消えてしまいます。 履歴にはbackup.batを開始した後、cmd.exeを起動し、操作を完了しました、となっています。が、実際はローカルのファイルは同期されていません。 あまり詳しくないため問題点が分かりません。 ローカル環境はWindows7です。 上記の記述に誤りがあるのでしょうか? 使用方法が根本的に間違っているのでしょうか??

  • バッチファイルをタスクスケジューラで実行するとDOSの黒い画面が必ず出てきてしまう?

    バッチファイルのショートカットのプロパティから、実行時の大きさを最小化にすると そのショートカットをWクリックすれば、問題なく黒い画面は出ずにバッチファイルは実行されますが タスクスケジューラで、そのショートカットを実行した場合 画面は必ず出てしまいます。 もちろん タスクに設定する際には、バッチファイルのパスそのものではなく ショートカットのファイルになるように***.lnkを指定しても出てしまいます。 どなたか、バッチファイルをタスクスケジューラで実行する際に 画面を出さないですむ方法をご存知の方がいらっしゃいましたら ヒントだけでも結構ですので、よろしくお願い致します。

  • WindowsServer2008でタスク実行

    困っています。 Dドライブ直下にバッチファイルでSQLplusを起動させ、同じディレクトリにある.sqlを実行させるファイルがあります。 このバッチファイルを手動で起動させデータを取得しようとするとsqlplusが起動し上手く処理が行われるのですが、タスクスケジューラに登録すると一瞬コマンドプロンプトの画面が開きすぐに閉じてしまいsqlplusが起動せず処理が開始されません。 webで色々調べてみましたがバッチファイルの先頭に @ECHO OFF cd /D %~ dp0をつけても駄目でした。 タスクスケジューラから右クリックして実行を選んで処理させるとこのタスクのプロパティの履歴には操作が完了されました。とタスクが完了しました。と表示されています。 一体、どのようにしたらバッチファイルが動くようになるのでしょうか? どなたか教えてください。 タスクスケジューラに登録したバッチファイルの内容は @echo off cd /D %~ dp0 d: sqlplus ユーザ名/パスワード@ネットサービス名 @X.sql exit です。 以上、よろしくお願いいたします。

  • タスクスケジューラでEXEが動かない

    教えて下さい。 あるEXE(VisualSutudiio2005でつくった)を、 タスクスケジューラで自動実行させようとしたのですがうまく動きません。 (スケジューラからバッチファイルを起動してバッチファイルないでEXEを起動しています) 正常に終了したかのうように終わってしまいます。 ※バッチファイルを普通に実行した場合は正常に動作します。 何が原因なのでしょうか? どうすれば自動実行できるようになるのでしょうか? よろしくお願い致します。

  • バッチファイルのタスクスケジューラでの実行について教えて下さい。

    AAAのパソコンのDドライブの111というフォルダを、ネットワーク経由でBBBのパソコンのDドライブの222という共有フォルダ内に333というフォルダ内へxcopyでコピーするバッチ(backup.bat)を作ってタスクスケジューラで1日1回自動実行させようと思うのですが、うまくいきません。どうすればよいのでしょうか? AAAパソコン:Windows2000 professional SP4        000フォルダ内にbackup.bat(共有フォルダではないです)        111フォルダは共有フォルダではないです        ユーザーアカウント⇒Administrator        パスワードはないです        BBBパソコン:WindowsXP professional SP2        222フォルダは共有フォルダ        333フォルダは222の共有フォルダの中        ユーザーアカウント⇒バックアップ        パスワード⇒123 バッチファイル(backup.bat)  ↓  net use \\BBB\222 123 /user:バックアップ  xcopy d:\111 \\BBB\222\333\ /E/C/F/H/R/K> d:\バックアップログ.log  net use \\BBB\222 /delete 上記バッチファイルをAAAパソコンの「タスクの実行するファイル名」に直接登録(d:\000\backup.bat)して実行させてみたのですが、タスクの詳細設定のログ表示でログを見ると、『タスクは次の終了コードで完了しました:(1).』となっていて実行されませんでした。 cmd.exe /c d:\000\backup.batでタスク登録してもだめでした。 バッチファイル(backup.bat)をダブルクリックして実行するとBBBパソコンにコピーできます。 タスク設定時の   実行するアカウント名⇒AAA\Administrator   パスワードはなし よろしくお願いいたします。

  • タスクスケジューラでbatファイルを動かしたい

    Windows10とWindows7を使っています Biosにタイマー機能がないノートPC(Windows7)を、遠隔PC(Windows10)からタスクスケジューラを使ってWakeOnLanで起動させることにより、タイマー起動のようなことをしようかと思い立ちました。 http://plaza.rakuten.co.jp/mscrtf/diary/201210120000/ こことほぼここと同じことを考え ・コマンドでMagicPacketを送れるソフト(MagicSend)を探しだし ・MagicSendと同一ディレクトリ内にWakeOnLanのbatファイルを作って配置し ・そのWakeOnLanのbatファイルをタスクスケジューラに登録 したところ、起動に失敗しました。 ・WakeOnLanのbatファイルを手動で動かすと起動する ・WakeOnLanのbatファイルにストップウォッチソフト起動コマンドを追加してみたところ、手動ではWakOnLanもストップウォッチも起動するが、タスクスケジューラでは起動しない ところから、タスクスケジューラがバッチファイルの実行に失敗しているのではないかと思います ここから先がわからなくなりました この場合、どこを疑うべきでしょうか? Windows10のタスクスケジューラはWindows7とは違う点があるとか、タスクスケジューラでbatファイルを動かす場合はbatファイル内に記述するコマンドのカレントディレクトリの位置に気をつけなくてはならない(絶対パスを指定すべし?)とか、その他ありますか?

  • タスクスケジューラの複数タスクの排他について

    タスクスケジューラで複数のバッチファイルを起動していますが、同時に動かしたくないので タスクの排他をしたいのですが、どうすればよいでしょうか?

  • タスクスケジューラの設定

    Windows 7を使用しています。 『特定のドライブが接続されたら、指定したプログラムを起動する』 ということを実現したいのですが、タスクスケジューラを使ってできるのではないかと思い試みてみたもののよく分からず質問させていただきました。 タスクスケジューラを用いる方法以外にも実現できる方法があれば教えていただけると幸いです。