HOKKAPOKKA
@HOKKAPOKKA (HOKKA POKKA)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

タスクスケジューラで起動するDOS窓を自動的に閉じたい

解決したいこと

Windows10のタスクスケジューラで、別のWindows10パソコンのネットワークドライブをrobocopy するバッチを毎日夜中の同じタスクを組んでいます。
バッチファイルの中身は以下のような感じです

robocopy \1.2.3.4\share c:\Backup_of_share /MIR /LOG:"C:\backuplogs\backup.log"
exit

exitの下りがあるので、このバッチをダブルクリックで(対話型で)起動すると、コマンドプロンプトが出てrobocopyが走ったあと、
DOS窓は自動的に消えるのですが、なぜかこれをタスクスケジューラで仕込むと、なぜか日によってDOS窓が残ったままです。
当然そのときに×閉じはできます。
実はRPAの被操作機なので、余分なWindowsは閉じておかねばならず、困っております。
必ず黒いWindowsが消えるようにするには、どういった設定が必要なのでしょうか。

0

3Answer

  • タスクスケジューラーのセキュリティ設定から、ユーザーがログインしていなくても実行するように設定を変更してみる
  • タスクスケジューラーの代わりにcmdを使ってみる。例えば、/c "パス\バッチファイル名.bat"などといった形で。

このあたりでしょうか…?

0Like

batファイルの eof で終わりますので、最後の exit は、有っても無くても関係ないです。

タスクスケジューラで起動するbatファイルのコマンド及びオプションに何を指定されていますか? タスクスケジューラに書いたコマンドラインを知りたいです。

0Like

Comments

  1. start /b c:\backup\robocopy_rpa.bat  としたら、
    DOS窓が開くことなくバッチが実行されませんか。

  2. @HOKKAPOKKA

    Questioner

    start /b試してみます!

  3. @HOKKAPOKKA

    Questioner

    c:\tempに、robocopyをする1行だけのbatファイル、xxx_backup.batを設定し、
    まず対話型でテストをした後、
    タスクスケジューラの操作タブで、
    プログラム/スクリプトに start
    引数の追加(オプション) に /b c:\temp\xxx_backup.bat
    を入れて、
    トリガーに時間を指定して実行したところ、以下のエラーになっていました。

    『タスク スケジューラは、タスク "\xxx_backup" のインスタンス "{xxxxxxx}" の操作 "start" の起動に失敗しました。追加データ: エラー値: 2147942402。

    何か指定の仕方が違うのでしょうか?

  4. 新しいタスクを作成して、そこに指定してください。

    エラー値: 2147942402 は E_FILE_NOT_FOUND を意味しており、タスク実行時に参照するファイルおよびレジストリが見つからなかった状況を意味しております。

  5. @HOKKAPOKKA

    Questioner

    タスクスケジューラを起動して、右側に出る"タスクの作成"から作っています。
    全般タブで 名前を指定。あとはデフォルト
    トリガーで新規ボタンから数分後を指定
    操作タブの新規ボタンから前述の設定
    これで何か足りないということでしょうか。

  6. E_FILE_NOT_FOUND では、DOS窓が開く閉じる以前の問題で、
    下のケースでもエラーなら、お手上げです。すみません。

    • プログラム/スクリプト start /b c:\temp\xxx_backup.bat
    • 引数の追加(オプション) (空)
  7. @HOKKAPOKKA

    Questioner

    プログラム/スクリプトに下記を無理やり詰め込んでも、警告がでて、結局引数に/b以下が強制的に移動させられてしまいますね。残念。
    start /b c:\temp\xxx_backup.bat

  8. @HOKKAPOKKA

    Questioner

    無理にバッチにしなくても、所詮バッチの中身はrobocopyの1行なので、直接robocopy実行で考えても何か良い方法はないものでしょうか。

  9. start /b robocopy \1.2.3.4\share c:\Backup_of_share /MIR /LOG:"C:\backuplogs\backup.log"
    ですかね
    (ファイル/フォルダはすべてフルパスで書く)

タスクスケジューラの操作タブに以下の様に入ってます。
操作   プログラムの開始
プログラム/スクリプト c:\backup\robocopy_rpa.bat
引数の追加  (ブランク)
開始 C:\backup

実際のrobocopy_rpa.bat はc:\backupに入っており、中身は当初に書いた通りです

0Like

Comments

  1. 横から失礼します。回答に対して返信しないと、回答が乱立することになりますよ。

  2. @HOKKAPOKKA

    Questioner

    すいませんでした、次回からreplyはコメントに入れるようにします。

Your answer might help someone💌