none
タスクスケジューラで手動では動作するが自動では動作しない(0×4) RRS feed

  • 質問

  • お世話になります。

    PCにあるファイルをNASへコピーするバッチを作成しまして、タスクスケジューラ(毎日 1:00に起動)に登録しました。

    翌朝確認すると「前回の実行結果」には「0×4」と表示され、NASを確認するとコピーが実行されていません。

    タスクスケジューラ上で手動で実行するとコピーは正しく動作しています。

    手動実行した場合、「状態」は実行中のままの表示ですが、「コンピュータの管理」を終了させ、再度立ち上げるとタスクスケジューラでは「状態」は「準備完了」となっており、「前回の実行結果」は「この操作を正しく終了しました。(0×0)」と表示されています。

    どこに原因があるのかご教示ねがいます。

    2019年9月11日 1:38

すべての返信

  • © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2019


    どこに原因があるのかご教示ねがいます。
    バッチファイルの標準出力(1)とエラー出力(2)をテキストファイルに出して、自分で調べる。

    タスクのファイル 

    cmd.exe

    タスクの引数 
    /c call "バッチファイルパス名" >"テキストファイルのパス名" 2>&1

    事前に、コマンドプロンプトで

    cmd.exe /c call "バッチファイルパス名" >"テキストファイルのパス名" 2>&1
    を実行して、間違いがないことを確認しておくとよい。
    2019年9月11日 3:22
  • よくあるのがネットワークドライブにコピー等を試行して、
    ネットワークドライブはユーザープロファイルに関連するため、ログインしていない状態では接続できず、というパターンですかね。

    ログインしている状態で、タスクスケジュールで例えば5分後に動作させてみるなど試行してみてはどうでしょうか。
    あとは、バッチの内容を問題ない範囲で記載いただいたほうが情報は集まるかと思います。

    2019年9月11日 11:01
  • それぞれ回答ありがとうございます。

    現在原因をまだ調査中です。

    先程実行時間を調整し、数分後に動作させたところ正常に動作していました。

    「セキュリティオプション」で「ユーザーがログオンしているかどうかにかかわらず実行する」と「最上位の特権で実行する」は以前からチェックを入れています。

    PCはスリープ状態に入らないように設定しています。ログオン状態のまま1:00からのバッチファイル実行となるはずです。

    バッチの内容は、

    C:\Windows\System32\cmd.exe /c xcopy /E /I /Y D:\folder01 \\NAS01\folder11\folder21\folder01 > D:\log.log

    です。(folderの部分は実際のフォルダー名をローマ字のみで入れています)

    「> D:\log.log」の部分は出入りのシステム会社の指示で今朝追加しました。

    今夜(01:00)に動作するようにスケジュールを戻しています。

    明朝のログをシステム会社に報告する予定です(これは契約の範囲外でしてシステム会社の「好意」で調査していただいているようなものですので解決まで回答が得られるかは不明です)。

    現状を報告します。

    2019年9月12日 2:42
  • こんにちは。フォーラムオペレーターのFarenaです。

     

    詳細な状況をご提供いただきありがとうございます。

    追加の情報をご確認いただいた際にこちらへご返信いただいても良いですし、もし関連はしているが別の問題や疑問などございましたら新たにスレッドを作成してご質問いただいても結構です。

     

    ご不明な点がございましたら、お気軽にお問い合わせください。

    今後ともTechNet フォーラムをよろしくお願いします。


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年9月13日 7:43
    モデレータ
  • 「> D:\log.log」の部分は出入りのシステム会社の指示で今朝追加しました。

    そんなやり方では、標準エラー出力(stderr、fd=2)が捕捉できないのに。その会社に正しいやり方を教えてあげてくださいな。


    2019年9月13日 11:55
  • 1:00 に、NASが再起動しているとか、ハブの電源が落ちていたりしないでしょうか?

    >手動実行した場合、「状態」は実行中のままの表示ですが、

    については、操作|最新の情報に更新 またはF5キーで更新されます。

    2019年9月13日 21:12
  • 返信をいただきましてありがとうございます。

    該当のタスクの「全般」タグのところの右下に「構成」があるのですが、これを「Windows10」(このPCがWin10です)から「Windows Vista, Windows Server 2008」に変更したところうまく動作しました。

    保存先のNASが古いもので、上記の設定で様子をみてはとのアドバイスがシステム会社よりあり、試したものです。

    いろいろアドバイスをいただきましてありがとうございます。

    いただいたものはまだ検証しきれていないのですが、まずはこれで運用するつもりです。

    2019年9月17日 5:00
  • ご確認ありがとうございます。

     

    もし参考になった投稿がありましたら、「回答としてマーク」をご設定ください。同じ問題で後から参照した方が、情報を見つけやすくなりますので、ご協力くださいますようお願いいたします。

     

    引き続きTechNetフォーラムをご利用のほどよろしくお願いいたします。


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年9月20日 3:18
    モデレータ