© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2022
technetフォーラムへ。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Windows10のタスクスケジューラを使って、2つのフォルダの中身の同期を取りたいのですが、
どのようなタスクを組めばできますか?
例えば、c:\AAA フォルダとD:\BBBフォルダがあったとして
C:\AAAにプログラム等から何かファイルが追加/更新されたらそれをトリガーにして
robocopy c:\aaa d:\bbb /mir
を発行するようなことをやりたいのですが、
そもそもそのc:\AAAの中のどれかのファイルが更新されたり、新規の書き込み
があったことをトリガーにするにはトリガーをどう記述したらよいのかご教示いただけないでしょうか。
(それとも発想を変えて、タスクスケジューラ以外の方法でできますでしょうか。)
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2022
technetフォーラムへ。
タスクスケジューラのトリガーで何か工夫できないものかと思いお聞きしております。
おそらく私の不勉強なのでしょうが、ファイルの変更検知など、タスクスケジューラでタスクをスケジュールする以外のことができるとは思いもよりませんでした。
さすがにプログラムを走らせるのはNGなのですが、タスクスケジューラでは無理ということでしょうか?
そもそもそのc:\AAAの中のどれかのファイルが更新されたり、新規の書き込み
があったことをトリガーにするにはトリガーをどう記述したらよいのかご教示いただけないでしょうか。
(それとも発想を変えて、タスクスケジューラ以外の方法でできますでしょうか。)
似た話として、去年の仕事で「特定ディレクトリ以下のファイルが変更された場合、それを直ぐに読む。」という課題があり、いろいろと調べた結果、下記の Win32 APIを使用してプログラムを自前で作り、解決しました。他の方法では難しいかも知れません。
https://docs.microsoft.com/ja-jp/windows/win32/api/fileapi/nf-fileapi-findnextchangenotification
ただしこのAPIの動作には、「変更されたファイル名は分からない」「変更通知が1回から2~4回ぐらい来る場合ある」という特徴があり、なかなか動作検証と実装に苦労して、この部分だけの完成に3週間ぐらいかかりました。もっと簡単で良い方法が見つかると良いとは思います。ご参考までに。