【Windows】自動スクリプトでPCのクリーンアップを丸ごと自動化する5つの方法
パソコンのメンテナンスは、意外と忘れられがちな作業です。ITに詳しくない一般ユーザーの場合、パソコンの調子が悪くなると、誰かに助けを求めるか、新しいパソコンを買い替えてしまうのが実情ではないでしょうか。
もし「最近パソコンの動きが遅いんだけど…」と家族や友人から助けを求める連絡が絶えないなら、その電話を今日から止められる解決策があります。このソリューションでは、6つのツールを1つのWindowsスクリプトにまとめます。このスクリプトさえ用意しておけば、あなたが実際にそのパソコンの前に座って行うはずだったクリーンアップ作業を、すべて自動で実行してくれるのです。
このスクリプトでできること
このWindowsスクリプトは、必要なツールをコマンドラインモードで順番に実行します。普段から使っているツールの中には、コマンドラインモードが存在することすら知られていないものも少なくありません。
1. レジストリと一時フォルダのクリーンアップ
最初のステップは、おそらく最も重要な工程です。CCleanerをコマンドラインモードで起動し、一時ファイルとレジストリを掃除します。
ただしひとつ注意点があります。アプリがシステムに変更を加えるたびに通知が表示されないよう、Windows 7では「ユーザーアカウント制御(UAC)」を無効にしておく必要があります。
準備が整ったら、「CleanComputer.wsf」という名前のファイルを作成し、以下のコードから書き始めてください。
<job>
<script language="VBScript">
Option Explicit
On Error Resume Next
Dim WshShell
Dim retVal
set WshShell=CreateObject("WScript.Shell")
WshShell.run "CCleaner.exe /AUTO"
CCleanerは当サイトでも以前取り上げた定番ツールです。どれほどの最適化効果が得られるのか、ぜひ一度確認してみてください。上記のように「/AUTO」フラグ付きで起動すると、画面には何も表示されず、前回アプリを実行したときの設定を使って処理が進みます。タスクマネージャーでCCleaner.exeが動いているのを確認できますよ。
事前にCCleanerの設定を済ませておけば、自動モードで一時ファイル、ログファイル、さらにはレジストリまでまとめて掃除してくれます。
2. スパイウェアの駆除
次は、PC内で動いているかもしれないスパイウェアへの対処です。筆者のお気に入りはSpybotですが、幸いSpybotにもコマンドライン機能が備わっています。問題は、インストールパスにスペースが多く含まれている点です。Windows Scriptのシェルコマンドではスペースの扱いが面倒になります。
そこで、以下の内容でバッチファイル(.bat)を作成します。
"C:\Program Files (x86)\Spybot - Search & Destroy\SpybotSD.exe" /taskbarhide /autocheck /autofix /autoclose Exit
これを「SpyBot.bat」という名前で、Windowsスクリプトと同じディレクトリに保存してください。そしてWSFファイルの次の行に、以下を追加します。
WshShell.run "spybot.bat"
こうすることで、Windows Scriptがバッチジョブを起動し、そのバッチがSpybotをコマンドラインモードで立ち上げます。タスクマネージャーに該当のExeが表示されていれば、正常に動作しています。
SpybotSD.exeの後に続く4つのパラメータにより、Spybotはサイレントモードで実行され、検出したスパイウェアを自動的に除去し、完了後は自動的に閉じられます。
3. 悪意のあるソフトウェアの削除
Spybotで検出できない脅威に備えて、Microsoft公式の「Malicious Software Removal Tool(悪意のあるソフトウェアの削除ツール)」も併せて実行するのがおすすめです。「Microsoft Download Center」から実行ファイルをダウンロードし、スクリプトディレクトリに「malremove.exe」として保存します。そのうえで、スクリプトに次の行を追加しましょう。
WshShell.run "malremove.exe /Q /F:Y"
「/Q」はツールをquietモード(UIなし)で実行する指示、「/F:Y」は検出したマルウェアをユーザーの操作なしで強制的に削除する指示です。初回テスト時に一度だけ、次回以降は警告を表示しないオプションを選択しておきましょう。
これで、ツールがバックグラウンドで静かに動くようになります。
ここまでで、実際にその場で行う作業の大部分——CCleanerによるインターネット一時ファイルなどの削除、スパイウェア・マルウェアの駆除——をカバーできました。残る作業は何でしょうか?
4. ディスククリーンアップの自動化
パソコンのパフォーマンス向上に役立つもうひとつの定番ツールが、Windows標準の「ディスククリーンアップ」です。まずは初期設定を行います。「スタート → ファイル名を指定して実行」を開き、「cleanmgr /sageset:1」と入力してください。設定ウィンドウが表示されます。
コマンドラインで自動的に掃除してほしい項目にチェックを入れ、「OK」をクリックします。これで「/sageset:1」を指定するたびに、今作成した設定が使われるようになります。続いて、Windowsスクリプトに以下の行を追加します。
WshShell.run "Cleanmgr /sagerun:1"
これで、先ほど作成した設定に基づき、ディスククリーンアップがサイレントに実行されます。さらに、WuInstall.exeを事前にインストールしておけば、次の1行を追加するだけで最新のWindows Updateも自動適用できます。
WshShell.run "wuinstall.exe /install /reboot_if_needed"
そして忘れてはいけないのがハードドライブのデフラグです。以下の行をスクリプトに追加して、手早く断片化を解消しましょう。
WshShell.run "Defrag volume c:" WshShell.run "Defrag volume d:"
5. クリーンアップ後のウイルススキャン自動化
最後に、そして決して軽視できないのが、スクリプトの締めくくりとしてフルウイルススキャンを実行することです。たとえば筆者が使用しているKasperskyには、独自のコマンドラインパラメータが用意されています。
筆者の場合は、スクリプトの最後に次の1行を追加するだけです。
WshShell.run "AVP.exe SCAN /ALL /i4"
これでコマンドウィンドウが起動し、フルスキャンが開始されます(数時間かかる場合もあります)。他の多くのアンチウイルスベンダーも、同様のコマンドラインオプションを提供しているので、お使いのセキュリティソフトのドキュメントを確認してみてください。
以上の行をすべて追加したら、Windowsスクリプトを閉じて完成です。
WScript.Quit </script> </job>
ここまでの手順を終えてファイルをPCに保存したら、あとは定期的に実行されるようスケジュールを設定するだけです(アクセサリ → システムツール → タスクスケジューラ)。ぜひ試してみて、その効果を確かめてください。
うまく動作しましたか? 追加できそうな便利なコマンドラインタスクのアイデアがあれば、ぜひコメント欄で教えてください。
画像クレジット: Shutterstock
-
Dockerとは?コンテナ技術で開発・運用のワークロードを簡素化する完全ガイド
2013年に登場したDockerは、以来IT業界全体に大きな話題を巻き起こしてきました。Dockerが提供するコンテナ技術ベースのソリューションは、IT運用の在り方を根本から変えつつあります。 本記事では、現在のDevOpsパイプラインにおいて最も注目されている技術のひとつであるDockerについて、その仕組みやメリットをわかりやすく解説します。 Dockerが注目される理由 想像してみてください。自分の開発マシンでは完璧に動作していたアプリケーションが、QA環境や本番環境にデプロイした途端、動かなくなったら――。多くの開発者が経験したことのあるこの問題の背景には、「環境の違い」による依存関係
-
「お使いのコンピューターから自動クエリが送信されている可能性があります」を解決する4つの簡単な方法
Windowsパソコンの不調にお困りではありませんか? Advanced System Optimizerは、ジャンクファイルや重複ファイルの削除、PC内の整理整頓をサポートし、システムパフォーマンスの向上と起動時間の短縮を実現するオールインワン型のシステムクリーンアップツールです。 これを使えば、システムメモリの最適化、ゲームパフォーマンスの向上、プライバシーに関わる痕跡の削除なども行えます。 Advanced System Optimizerをダウンロード Advanced System Optimizerのレビューを見る 「コンピューターから自動クエリが送信されている」とは? 最近