ここから質問投稿すると、最大4000ポイント当たる!!!! >>

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

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

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

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

 

このQ&Aに関連する最新のQ&A

A 回答 (2件)

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


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

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

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

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

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


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

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

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

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

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qコマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法

ipアドレスは分かっていますがコンピュータ名が分かりません。リモート接続ソフトなどは使えないので、それでコンピュータ名を調べることはできません。
コマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法を教えてください!

Aベストアンサー

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理しており、対象IPについても管理者の管理下にある場合……以下2つのいずれかの方法で検索できます。

  nslookup <IP address>

または

  nslookup -q=ptr <reverse ip>.in-addr.arpa.
  ex) 192.168.12.1 のIPを調べたい場合、以下のように入力する
  nslookup -q=ptr 1.12.168.192.in-addr.arpa.

  (DNSサーバで逆引きが設定されていないと、正しく検索できない場合があります)

パターン3:
上記以外の場合

外部から名前解決できないので、調べようがありません。または、調べてもそれが正しいホスト名である保証がありません。
そのIPの端末自体に設定されているホスト名を直接調べるしかありませんが、それには実際にそのIPの端末を操作して調べるしかありません。
つまり、No.2さんの回答となるのですが、
IPを使用しているのがWindows PCやUnixサーバなどである保証はないので、確認するコマンドはその端末の種類(OS)によって異なります。

なお、tracert (traceroute)を使用する、という回答がありますが、これはパターン1またはパターン2のいずれかまたは両方を満たしていないと表示されませんので、厳密には正しい答えとはいえません。
(たいていの場合、"tracert <IP address>" や "ping <IP address>"で用が足りてしまうことも多いので、必ずしも間違いではないのですが)

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理して...続きを読む

Qバッチ終了時にDOS窓を閉じるコマンド

自作バッチについて質問があるのですが、
バッチ終了時にDOSプロンプトを自動的に閉じる方法を教えて下さい。

以下の方法は知っているのですが↓
------------------------------------------------------------
バッチのプロパティ画面の「プログラム終了時にウィンドウを閉じる」を
チェックする
------------------------------------------------------------

上記のようなやり方ではなく、バッチファイルの中に直接コマンドを書いて
設定する方法を教えて下さい。

Aベストアンサー

バッチファイルでウィンドウを閉じるのはexitコマンドです。

exit

だけを記述したバッチファイルを作って実行してみると確認出来ます。

Q指定したURLを表示させるバッチファイル

IEが起動してない状態で、IEを起動させて指定したURLを表示させるバッチファイルを教えて下さい。
バッチファイルAを実行すると、○●○●○●というURLでIEが起動し、バッチファイルBを実行すると、△▲△▲△▲というURLでIEが起動する。そういうことです。
よろしくお願いします。

Aベストアンサー

私がやった通りのことを書きます。ご参考に。
(1)インターネットエクスプローラーがExplore(最後rなし)と言うプログラム名であることを知る。
(2)スタート-検索-ファイルやフォルダ-Explore
で検索する。
(3)C:¥Program Files\Internet Explorerにあることを知る。(eのマークによりプログラムファイルであることを知る。)(こちらは最後にrがつく)
(4)バッチファイルを作る。メモ帳に
cd "c:\Program Files\Internet Explorer"
Iexplore "http://www.okweb.ne.jp/kotaeru.php3?qid=610162"
と入れて、url.batと言うファイル名で保存。
urlは任意の名で良い。「.bat」は必須です。
”http://・・は任意のURLで可。
(5)メモ帳を閉じる。私の場合はc:¥My Documentsに保存されたことに留意。
(6)スタート-プログラムからDos画面をだす。(98の場合)
(7)CD "c:\My Documents"エンタを入れる。
(8)urlエンタと入れる。.batは不要。
(9)上記のOKWEBの画面になり、止まる。

私がやった通りのことを書きます。ご参考に。
(1)インターネットエクスプローラーがExplore(最後rなし)と言うプログラム名であることを知る。
(2)スタート-検索-ファイルやフォルダ-Explore
で検索する。
(3)C:¥Program Files\Internet Explorerにあることを知る。(eのマークによりプログラムファイルであることを知る。)(こちらは最後にrがつく)
(4)バッチファイルを作る。メモ帳に
cd "c:\Program Files\Internet Explorer"
Iexplore "http://www.okweb.ne.jp/kotaeru...続きを読む

Q「ご連絡いたします」は敬語として正しい?

連絡するのは、自分なのだから、「ご」を付けるのは
おかしいのではないか、と思うのですが。
「ご連絡いたします。」「ご報告します。」
ていうのは正しい敬語なのでしょうか?

Aベストアンサー

「お(ご)~する(いたす)」は、自分側の動作をへりくだる謙譲語です。
「ご連絡致します」も「ご報告致します」も、正しいです。

文法上は参考URLをご覧ください。

参考URL:http://www.nihongokyoshi.co.jp/manbou_data/a5524170.html

QROBOCOPY.exeの終了コード

タイトルのコピーツールについて、
バッチファイルなどで、エラー時の判定を行いたいのですが、
どんな値をどのように返してくるか、色々調べても分かりませんでした。
分かった範囲では、0~16まで値を持っているようで、
正常終了だから、0(ゼロ)という訳ではなさそうです。
手元にROBOCOPY.docなどのマニュアルがなく、調べがついていません。
どこか参考マニュアルなどがありましたら、ご教示よろしくお願いします。

Aベストアンサー

No.1 の補足質問に対する回答です。
.doc からリターンコードのリストだけ記載しようかとも思いましたが、探してみるものですね。参考URLよりダウンロードできることを確認しました。

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

QVBscriptからバッチに変数を渡すには?

VBscriptからバッチに文字列を渡したいのですが、どう書いたらいいでしょうか?

VBscriptにWscript.Quit 1と数字を入れた場合、バッチ側は%errorlevel%で取得できると思うのですが、文字列は出来ませんでした。

よろしくお願いします。

Aベストアンサー

こんな感じでできると思います。

[VBS側]
'環境変数に格納したい値をEchoして終了
WScript.Echo kekka

[バッチ側]
for /f "usebackq tokens=*" %%i IN (`call cscript //nologo <vbsフルパス>\hoge.vbs`) DO @set vbskekka=%%i

※INの中のクォートはバッククォートである点に注意

私はこんな感じでよく使っていて、もちろん文字列もOK
ですが、日本語が扱えるかどうかは未検証です。
(半角英数以外はつかった事がない)

Qコマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい

コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい

BAT実行や、BATにドロップする程度の操作でファイル名置換したいと思っています。

たとえば、「abcTEST123.txt」というファイルを下記のバッチにドロップすると、
「abctest123.txt」と言うファイル名に置換されます。

for %%A in (*TEST*.txt) do call :sub %%A
:sub
set A=%1
ren %A% %A:TEST=test%

しかし「TEST」をスペースにしてもファイル名の置換はできません。
コマンドプロンプトではスペースは扱えないのでしょうか。
解決策がありましたらご教授願います。

Aベストアンサー

>しかし「TEST」をスペースにしてもファイル名の置換はできません。
>コマンドプロンプトではスペースは扱えないのでしょうか。
普通はその通りです。スペースは区切り文字ですので。
スペースを含むファイル名などの場合、" で囲みます。

質問文のバッチに手を加えるなら、以下のようにしたら成功しました。
--------------------
rem echo %1
for %%A in ("* *.txt") do call :sub "%%A"
goto :end

:sub
rem echo %1
set A=%1
ren %A% "%A: =T%"

:end
rem pause
--------------------
これで、
abc 123.txt を
abcT123.txt にリネームできました。

ところで、おかしな点があります。
・>ファイルをドロップ
 とありますが、意味を成していません。
 変数としてフルパスがバッチに渡されますが、参照する記述がないので。
・for文でファイル名を探しています。が、対象のフォルダは
 バッチ起動時のパス内のみであり、ドラッグ&ドロップされたファイルのフルパスとは
 無関係です。
・for 文で :sub を呼びますが、その後次行に移りますがそれが :sub です。
 バッチの流れがおかしいです。(上記バッチでは修正しました)


バッチが終わるとDOS窓がすぐ閉じてしまうので、
最後にpause でも書いておくといいです。
コマンドがどのように展開されてるか、や、エラーがあればわかります。

>しかし「TEST」をスペースにしてもファイル名の置換はできません。
>コマンドプロンプトではスペースは扱えないのでしょうか。
普通はその通りです。スペースは区切り文字ですので。
スペースを含むファイル名などの場合、" で囲みます。

質問文のバッチに手を加えるなら、以下のようにしたら成功しました。
--------------------
rem echo %1
for %%A in ("* *.txt") do call :sub "%%A"
goto :end

:sub
rem echo %1
set A=%1
ren %A% "%A: =T%"

:end
rem pause
--------------------
これで、
abc 123.txt...続きを読む

QBonjourと言うソフトについて

Windows7で64Bitです。
全てのプログラムの中に自分で取り込んだ記憶が無いBonjourと言うソフトが入っていました。
そこで検索をしてこのソフトを調べたのですが難しいことが書いてあって悲しいかな分かりませんでした。
何かLANでプリントするとか・・・・?
これを削除してしまうと何か不具合が出ますでしょうか。
このまま入れておいた方が良いのでしょうか。
教えてください。

Aベストアンサー

iTunesをインストールすると「Bonjour」も一緒にインストールされますので
あれっ?と思うのも無理もありません。

「Bonjour」とは何か
iTunesのデータをネットワークで共有する時に使われるプログラムのようです。

共有する場合はを削除せずにそのままで
共有しない場合は削除してもいいと思います。

ちなみに私は「Apple Software Update」と「Bonjour」を削除していますが
何の不具合もありません。

http://aki-ch.com/diary/082410.html


人気Q&Aランキング