1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows PCのUSB-HDDの電源を切れなくする方法 part2(winスケジューラ&VBScript)

Last updated at Posted at 2024-11-04

Windows PCのUSB-HDDの電源が自動で落ちてしまう問題の対処方法の第2弾です。「USBセレクティブサスペンド」の無効化等でも効果がなかった方は必見です。

前回の以下記事では、WSL+Linuxスケジューラ(cron)を使った対処方法を紹介したのですが、普段WSLやLinuxに縁がない方には、とっつきづらい方法でした。

今回は、その点を解消するために、Windows標準のタスクスケジューラとVBScriptを使った対処方法を紹介します。

PC環境

  • OS: Windows 11 Home
  • CPU: AMD Ryzen 7 3700X
  • マザーボード: PRIME B550M-K (ASUSTeK COMPUTER INC.)
  • USB-HDD: WD Elements 25A3 (10TB)

対処方法

やることは、前回同様、以下です。

一定時間毎にUSB-HDDに自動アクセスする

これの実現方法として、今回は、面倒な環境構築が不要な以下方法を実施しました。

USB-HDDにテキストファイルを出力するVBScriptを、
Windows標準のタスクスケジューラで定時実行

手順は以下です。

  1. USB-HDDに自動アクセスするVBScriptを作成
  2. VBScriptを、タスクスケジューラに設定

1.USB-HDDに自動アクセスするVBScriptを作成

VBScriptの内容は、

ターゲットとなるUSB-HDDにアクセス

という処理であれば何でもよいです。スクリプトファイルの保存場所/名前も任意です。

以下例は、前回同様、現在時刻を、USB-HDDがあるFドライブにテキストファイル(hdd_accessed_win_vbs.txt)出力する処理です。

hdd_access_win.vbs
Const FILE_PATH = "F:\work\hdd_accessed_win_vbs.txt"

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim ts
Set ts = fso.CreateTextFile(FILE_PATH, True)

ts.WriteLine Now()
ts.Close()

Set ts = Nothing
Set fso = Nothing

ご自分の環境に合うよう、先頭行のFILE_PATH設定値を編集すれば、あとは、そのまま使っていただくでもOKです。

2.VBScriptを、タスクスケジューラに設定

まずは、タスクスケジューラを起動します。
起動方法は以下です。

① Windowsスタートボタンをクリック
② 検索窓に「タスクスケジューラ」と入力(下図)
③ 「タスクスケジューラ」をクリック

タスクスケジューラ検索.png

タスクスケジューラを起動したら、右の「タスクの作成...」(下図赤枠)をクリックします。
タスクの作成.png

各タブに設定する内容は下表です。

タブ 内容 設定例
全般 ※名前/説明は任意 スケジューラ_全般タブ.png
トリガー 左下の「新規(N)..」ボタンを押下し、詳細設定の「「繰り返し間隔」(赤枠)に、時間を入力
(右記例は、10分間)
スケジューラ_トリガータブ.png
操作 左下の「新規(N)..」ボタンを押下し、「プログラム/スクリプト(P)」欄(赤枠)に、上述1.で作成したVBScriptファイルのパスを入力 スケジューラ_操作タブ.png
条件 ※何もさわらなくてOK スケジューラ_条件タブ.png
設定 失敗時の再実行(赤枠)をチェック(※)
時間や試行回数は適当
スケジューラ_設定タブ.png

(※)これをやらないと、なぜか、一度失敗するとタスクが起動されなくなりました。

これで、VBScript(hdd_access_win.vbs)が定期的(上記例だと10分毎)に実行され、USB-HDDに定期的に自動アクセスするようになり、USB-HDDの電源が切れることがなくなりました。

おわりに

Windows上のスクリプトといえば、バッチファイルやPowerShellスクリプトが真っ先に思い浮かびますが、これらを使うと、どうしても一瞬、コマンドプロンプト/PowerShellウィンドウが出てきてしまいます。

一瞬なので、気にならない方はそれでいいのですが、動画配信向けに画面キャプチャ録画するような方には、一瞬黒い画面が入り込んでしまったり、フォーカスを奪われたりしてしまうので、不向きです。

ググると、コマンドプロンプト等を非表示にする方法も出てきますが、その方法が、VBScriptを使ってバッチファイル等を起動する方法だったりします。だったら、VBScriptだけで実現したほうがシンプルかと思い、今回、この方法としました。USB-HDDの悩みを抱える方に、お役立ちできれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?