🪟

Windowsの作業用に一時ドライブ (仮想ドライブ) を作成する

2023/09/11に公開

はじめに

この記事では、Windows の subst コマンドを使用して仮想的な一時ドライブを作成する方法を説明します。
また、Windows のタスクスケジューラを用いて一時ドライブを自動的に作成する方法も説明します。
一時ドライブがあれば、いつでも安全にテストを行ったり、一時的なファイルを保存したりできます。
これがあなたの生産性を向上させる一歩となるでしょう。

1. subst とは

subst[1] は指定したディレクトリを仮想的なドライブとして扱う Windows コマンドです。

1.2 substの使用法

`subst`` は、次の構文で使用します。

subst [仮想ドライブ]: [フルパス]

たとえば、以下のように入力すると、c:\tmp ディレクトリが Z ドライブとしてマッピングされます。

subst z: c:\tmp

これにより、Z ドライブを通じて c:\tmp の内容にアクセスできます。
詳細なオプションや使用事例については、subst の公式ドキュメントを参照してください。

2. 一時ドライブ作成スクリプト

このセクションでは、一時ドライブを作成するために使用されるスクリプトについて説明します。

2.1 スクリプトの説明

このスクリプトは、Windows が起動するたびに一時ドライブを作成するスクリプトです。
そのため、"c:\bin\init\zdrive.cmd" という特定の名前で保存します。

zdrive.cmd
@echo off
rem
rem create Z drive for temporary
rem
rem @Author atsushifx
rem

path c:\windows\system32;%path%

setlocal
set _tmpdrv=C:
set _tmpdir=%tmpdrv%\tmp

rem 作業ディレクトリ作成
if not exist %_tmpdir%\NUL goto endtmpdir
  rmdir /s /q %_tmpdir%
:endtmpdir
mkdir %_tmpdir%

rem 一時ドライブ作成
if exist Z:\NUL goto endtmpdrive
  C:\WINDOWS\system32\subst.exe z: %_tmpdir%
:endtmpdrive

rem 作業用ディレクトリ作成
mkdir z:\temp
mkdir z:\works

3. タスクによる一時ドライブ自動作成

タスクスケジューラ[2]にタスクを追加し、2.で作成したスクリプトを Windows が自動的に呼びだすようにします。
これにより、Windows を使用するたびに自動的に一時ドライブ"Zドライブ"が使用可能になります。

3.1. 一時ドライブ作成用タスクの作成

一時ドライブを自動的に作成するため、次の手順でタスクを作成します。
このタスクは Windows 起動時とログイン時に呼び出され、自動的に一時ドライブを作成します。

  1. タスクスケジューラの起動:
    スタートメニューから[タスクスケジューラ]を起動し[タスクスケジューラ]を開く
    タスクスケジューラ

  2. タスクの新規作成
    [操作]-[タスクの作成]を選び、[タスクの作成]ダイアログを開く
    タスクの作成

  3. タスク名の設定:
    タスクの[全般]タブを選び、[名前]にzdriveと入力する。また、"ユーザーがログオンしているかにかかわらず実行する"をチェックする
    タスク名の設定

  4. トリガーの設定:
    [トリガー]タブを選び、[新規]ボタンをおしてトリガーを作成する。トリガーには、[スタートアップ時]と[任意のユーザーのログオン時]を選択する
    トリガーの設定

  5. 操作の設定:
    [操作]タブに移動し、[新規]ボタンをクリックする。スクリプトとして "c:\bin\init\zdrive.cmd"を登録する
    操作の設定

  6. タスクスケジューラの終了:
    [OK]をクリックし、各ダイアログを閉じる。その後、[ファイル-[終了]としてタスクスケジューラを閉じる

これで、タスクの設定は終了です。
Windows を起動するたびに、自動的に一時ドライブが作成されます。

3.2. 一時ドライブ作成用タスクのエキスポート

作成したタスクをエクスポートします。こうすることで、Windows 環境を再構築するときに、すぐに一時ドライブを使えるようになります。
次の手順で、タスクをエクスポートします。

  1. タスクの選択:
    タスクスケジューラの[タスクスケジューラライブラリ]画面で、作成した"zdrive"を選択する
    タスクスケジューラ ライブラリ

  2. タスクのエクスポート:
    [操作]-[エクスポート]を選択し、タスクをエクスポートする

  3. エクスポートファイルの保存:
    エクスポートしたタスクをファイルに保存する

これで、タスクのエクスポートは終了です。
エクスポートしたファイル"zdrive.xml"で Windows 環境の再構築時に、一時ドライブが使えるようになります。

3.3. 一時ドライブ作成用タスクのインポート

3.2.でエクスポートした"zdrive.xml"ファイルを使って、タスクをインポートできます。
これにより、Windows 初期亜直後でも一時ドライブを使えるようになります。
次の手順で、タスクをインポートします。

  1. タスク一覧:
    タスクスケジューラの[タスクスケジューラライブラリ]画面を開く
    タスクスケジューラ ライブラリ

  2. タスクのインポート:
    [操作]-[タスクのインポート]を選択し、作成した"zdrive.xml"ファイルを選択する

  3. タスクの設定:
    [タスクの作成]ダイアログが表示されるので、[OK]をクリックする
    タスク名の設定

以上で、タスクのインポートは終了です。

おわりに

この記事では、Windows のsubstコマンドを使用して一時ドライブを作成する方法を紹介しました。また、タスクスケジューラを使って、一時ドライブを自動的に作成する方法も紹介しました。

これで、ちょっとしたスクリプトやプログラムを一時ドライブで試せるようになりました。
プログラミングや開発作業がよりはかどるでしょう。

それでは、Happy Hacking!

参考資料

Webサイト

脚注
  1. subst: Windows のコマンドで、指定したディレクトリを仮想的なドライブとして扱うことができるコマンド ↩︎

  2. タスクスケジューラ: Windows の機能で、あらかじめ設定したタスクを指定した条件や時間に応じて実行できるスケジューリング機能 ↩︎

GitHubで編集を提案

Discussion