[FAQ CENTER トップ]
[Powershell FAQ トップへ]



【Powershell】ラベル名からドライブ名(Drive letter )を変更するサンプル



更新日:2022/03/13


ラベル名とドライブメイをマッピングする


あるディスク(AWS のEBSなど)を他の機器に接続した場合、ドライブレターが変更されてしまう場合があります。例えばディスクを移動した場合、 元々Jドライブであった"DATA"というラベルが付いたディスクがEドライブに変更されてしまう場合があります。
そのような場合に Powershell により修正する方法を紹介します。


サンプルプログラム


以下のサンプルでは "temp" というボリュームラベルのパーティションのドライブを J ドライブに変更しています。

$DriveLetter = (Get-volume -friendlyname temp).DriveLetter
Get-Partition -DriveLetter $DriveLetter | Set-Partition -NewDriveLetter J




関数化した場合以下の関数となります。 temp というラベルが付いたパーティションを K ドライブに変更しています。

Function ChangeDriveLetterFromLabel ($LabelName , $ChangeDriveName)
{
$DriveLetter = (Get-volume -friendlyname $LabelName).DriveLetter
Get-Partition -DriveLetter $DriveLetter | Set-Partition -NewDriveLetter $ChangeDriveName
}

# temp というラベルが付いたパーティションを K ドライブに変更する
ChangeDriveLetterFromLabel "temp" K





-friendlyname オプションが使用できない


もし-friendlynameが使用できない場合は代わりにfilesystemlabelを使用してみてください。
Powershell や OS のバージョンによりオプションが異なるようです。

サンプルコード集

以下は Windows 10 環境におけるサンプルコードと実行結果です。


以下は C ドライブの情報を取得しています。


サンプルコード:

get-volume |where DriveLetter -eq "C"

実行結果:


DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
C NTFS Fixed Healthy OK 20.10 GB 250.01 GB











[Powershell FAQ トップへ]
[FAQ CENTER トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018