OneDriveを利用していると、ローカルストレージの容量を節約するために、特定のフォルダやファイルをオンラインでのみ使用可能な状態にしたいことがあります。この記事では、PowerShellスクリプトを作成し、Windowsのタスクスケジューラを使って定期的に実行する手順を紹介します。


手動でオンラインのみの状態にする方法

まずは、手動でOneDriveのファイルをオンラインのみの状態にする方法を紹介します。

手順

  1. OneDriveフォルダを開く
    • Windowsのエクスプローラーを開き、OneDriveフォルダに移動します。
  2. 対象のファイルまたはフォルダを選択
    • オンラインのみの状態にしたいファイルまたはフォルダを右クリックします。
  3. 「空き容量を増やす」を選択
    • コンテキストメニューから「空き容量を増やす」を選択します。

この操作により、選択したファイルやフォルダはオンラインのみの状態に設定され、ローカルストレージから削除されますが、インターネット接続時には引き続き利用可能です。

手動操作の煩雑さ

手動での設定は簡単ですが、ファイル数が多い場合や定期的に行う必要がある場合には煩雑です。このような場合、スクリプトを使った自動化が非常に便利です。以下では、自動化の手順を紹介します。

PowerShellスクリプトで自動化する方法

まず、OneDriveで同期しているファイルをオンラインのみの状態にするPowerShellスクリプトを作成します。

スクリプトの内容

以下の内容をコピーし、Set-OnlineOnlyFiles.ps1という名前で保存します。

# OneDriveのフォルダパスを設定
$folderPath = 'C:\Users\User1\OneDrive - contoso\test'

# フォルダパスに移動
cd $folderPath

# ファイルをオンラインのみの状態に設定
attrib /s +u *

スクリプトの説明

  1. $folderPath変数にOneDriveのフォルダパスを設定します。
  2. cdコマンドで指定したフォルダに移動します。
  3. attrib /s +u *コマンドを実行し、フォルダ内のすべてのファイルをオンラインのみの状態に設定します。

次に、Windowsのタスクスケジューラを使って、上記のPowerShellスクリプトを定期的に実行するように設定します。

タスクの作成

  1. タスクスケジューラを起動します。
    スタートメニューから「タスクスケジューラ」と検索して起動します。
  2. タスクの作成を選択します。
  3. 全般タブで、タスクに名前を付けます。例: OneDriveファイルをオンラインのみ設定
  4. トリガータブで、スクリプトを実行する頻度を設定します。
    例: 毎日午前2時に実行する場合は、「新規」をクリックし、「毎日」および「開始時刻」に02:00:00を設定します。
  5. 操作タブで、新しい操作を作成します。
    「新規」をクリックし、以下のように設定します。
    • 操作: プログラムの開始
    • プログラム/スクリプト: powershell.exe
    • 引数の追加 (オプション): -File "C:\パス\to\Set-OnlineOnlyFiles.ps1"
  6. 条件および設定タブで必要に応じてオプションを設定し、タスクの作成を完了します。

まとめ

手動での設定は簡単ですが、大量のファイルや定期的な操作が必要な場合には自動化が非常に便利です。PowerShellスクリプトとタスクスケジューラを組み合わせることで、OneDriveのファイルを効率的に管理し、ローカルストレージの容量を節約することができます。

自動化により、手作業の手間を省き、システム管理の効率化を図ることが可能です。ぜひ、この記事を参考に、自分の環境に合わせた設定を行ってみてください。