アプリ版:「スタンプのみでお礼する」機能のリリースについて

 ずばり「スリープモードへの移行を一時的に無効にするコマンド」は存在しませんでしょうか?
 robocopy ~ でバッチファイルを書いて、定期的にファイルのバックアップを行っていますが、時間によっては robocopy 実行中にスリープモードへ移行してしまいます。

 BIOSの設定で、毎月1日の未明に自動起動させ、かつタスクによって、起動数分後に robocopy ~ を含むバッチファイルを自動実行させるようにしたいのですが。

 バックアップする度にスリープへの移行を無効にするのは面倒です。
 powercfg -x で、無効に設定できそうな雰囲気ではありますが、「一時的に無効にしてコピーが終了したら元に戻す」という雰囲気でなく、単に設定を変更してしまうようなものに見えます。

 バッチファイルのコマンドシェルが生きている間だけ無効にしたいのですが、良い方法はないものでしょうか。

 

A 回答 (2件)

バックアップの前に無効にして


バックアップが終わったら有効にする
ってコマンド書けば良いような気がしますが。
    • good
    • 0
この回答へのお礼

 ありがとうございます。
 無効は powercfg で可能ですが、「有効に」ってのは、powercfg から例えば「20分たったら」と記述する必要がある気がしています。

 気が変わってデスクトップから「60分たったら」に設定変更しても、このバッチが動作し終わると「20分たったら」に戻ってしまうようでは、あまり美しくないもので・・・

お礼日時:2010/01/12 12:00

簡単な実行プログラムを作成する必要があります。


SetThreadExecutionState 関数にて ES_SYSTEM_REQUIRED フラグを使用して、
アプリケーション(バッチジョブ)の実行中にスリープ状態に入るのを防げばいいです。
ジョブが終了すれば SetThreadExecutionState は解除されます。
下記マイクロソフトサイトを参照してください。
http://msdn.microsoft.com/ja-jp/library/cc429178 …
    • good
    • 0
この回答へのお礼

 先日は別質問の件で、ありがとうございました。
 SetThreadExecutionState のキーワードを頂けれは、あとは何とかなりそうな気がします。

 本当にありがとうございました。

お礼日時:2010/01/12 11:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!