- ベストアンサー
タスクでデフラグ&デスククリーンアップ
win98のときは自動で実行してくれたデフラグとディスククリーンアップがXPでは起動はしてくれるんですが実行しないで初期画面でとまっています。 設定の仕方が間違っているのでしょうか? タスクに追加するだけじゃだめなのかしら・ お解りのかたがいたらお教えください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
WShell.Sendkeysは、キー入力をシミュレートする機能です。画面があがってから、「どのキー」を、「何回」押すかを記述します。“調整が必要”と書いたのは、そういう意味です。
その他の回答 (3)
- はなおか じった(@Jitta)
- ベストアンサー率42% (69/161)
#2です。タブキーの回数は、調整が必要です。あと、Cドライブ以外をしたいときも、送るキーを調整する必要があります。
お礼
ありがとうございました。 できました。 でも、本当は良くわかってなくって 応用が出来ません。 ディスククリーンアップも同じでできるんですよね。 何かがまちがっているのか、、、? var WShell = WScript.CreateObject("WScript.Shell"); WShell.Run("%SystemRoot%\\System32\\cleanmgr.exe "); WScript.Sleep(5000); WShell.AppActivate("ディスク クリーンアップ"); WShell.Sendkeys("{TAB}{TAB}{TAB} "); WScript.Sleep(50000); WShell.AppActivate("ディスク クリーンアップ"); WShell.Sendkeys("{TAB}{TAB}{TAB} "); なんせ、ど素人なもので、、(恥
- はなおか じった(@Jitta)
- ベストアンサー率42% (69/161)
XPに標準でついているデフラグツールは、タスクをスケジュールすることができません。 http://shop.vector.co.jp/service/servlet/Catalogue.Detail.Top?ITEM_NO=SR040018 確か、この商品のサブセット版です。 それで、次のようなJScriptファイルを作ります。 var WShell = WScript.CreateObject("WScript.Shell"); WShell.Run("%SystemRoot%\\system32\\dfrg.msc"); WScript.Sleep(5000); WShell.AppActivate("ディスク デフラグ ツール"); WShell.Sendkeys("{TAB}{TAB}{TAB} "); これを、タスクで実行させます。 3行目のSleep(5000)は、環境によって数値を変えてください。デフラグツールが完全に起動するのを待ちます。 最後の行の、最後の{TAB}の後はスペースです。ボタンをクリックします。 このスクリプトは、dfrg.mscを起動し、5000ミリ秒待って、「ディスク デフラグ ツール」というタイトルのウインドウを探し、そのウインドウにタブキー3回とスペースキーを送信します。 #この方法、結構応用できます。
お礼
ありがとうございます。 >JScriptファイルを作ります。 作ったことないので調べてからやってみます。 なんか出来そうな気がしてきました。 結果はまた、、、
- ogura_kei
- ベストアンサー率33% (115/346)
win98でもXPでもタスクに追加するだけでは行えません。win98にはメンテナンスウィザードが存在したのでそれでタスクに設定していたので行えたのです。 XPには、メンテナンスウィザードが存在しませんので、タスクに細かく設定する(直接コマンド記述する)必要があります。 設定(起動)方法は、[ヘルプとサポート]の[検索]にそれぞれ、Chkdsk、Defragと入力して調べてください。なお、Defragは[ディスク デフラグ ツールを使用する]の関連項目を辿ると、コマンドの使用方法が分かります。
お礼
お答えありがとうございます >タスクに細かく設定する(直接コマンド記述する) にわかには判りませんので調べてみます。 >、[ヘルプとサポート]の[検索] 調べたのですがちょっと理解できなかったので お勉強してみます。
お礼
あ"~!!判りました! {TAB}の個数でどのキーかを指定してあげているんですね。 どおりで、キャンセル押してちゃ終わるわけだ。(恥 ようやくばっちり動いてくれました。 あ~スッキリスッキリ。 無知なオヤジには難しすぎず易しすぎない 教育的なご指導で感銘しました。 ありがとうございました。