業務でPowerShellを用いてCDドライブのドライブレター(通称:ドライブ文字A~Z)を変更するツールを実装する必要が有ったため調査して実装したスクリプトを備忘録も兼ねてまとめます。
CD-ROMドライブのDriveLetterの変更
Param($after_letter)
# Get current drive letter of CD-ROM drive
$before_letter = (Get-Volume | ?{$_.DriveType -match 'CD-ROM'}).driveletter
# Get current drive number of CD-ROM drive
Write-Output "list volume" | DiskPart | ?{$_ -match ("Volume[ ]{1}(?<volume>\d)[ ]*"+ $before_letter)} | Out-Null
$volume = $Matches["volume"]
# Set new drive letter provided by argument
Write-Output ("select volume {0}`nassign letter={1}" -f $volume, $after_letter) | DiskPart | Out-Null
実行にはシェルを格納したディレクトリ上でPowerShellウィンドウを開いて以下のコマンドを実行します。(例はDドライブをQドライブに変更する場合)
> .\drive_letter_changer.ps1 "Q"
- Before
- After
実際のソースコードは以下のURLからダウンロード出来ます。
Drive Letter Changerのソース @ GitHub
Reference
https://gist.github.com/n-fukuju/8487265
https://blog.shibata.tech/entry/2016/01/11/151201