Respostas:
Você pode apenas passar o nome da pasta ou unidade, por exemplo
vlc dvd://d:
Consulte o manual de referência da linha de comando para obter mais detalhes: https://www.videolan.org/doc/play-howto/en/ch04.html
Eu precisava criar um script que determinasse a unidade em que o DVD estava, se houvesse uma unidade e, se houvesse muitas unidades, indicasse ao usuário que não é possível descobrir qual unidade fazer. Isso é o que eu criei:
#Begin Script
Add-Type -AssemblyName System.Windows.Forms
function Get-CDDrives {
@(Get-WmiObject win32_logicaldisk -filter 'DriveType=5' |
ForEach-Object { $_.DeviceID })
}
$Drive = Get-CDDrives
if ($Drive.count -gt 1) {[System.Windows.Forms.MessageBox]::Show("Unfortunately, you have more than one DVD drive, and I'm not smart enough to know which one to use for you video." , "Error" , 0)}
if ($Drive.count -eq 1) {& "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" dvd:///"$Drive"\}
if ($Drive.count -lt 1) {[System.Windows.Forms.MessageBox]::Show("Hmmm... I can't seem to find a DVD drive on your computer." , "Error" , 0)}
#End Script
Obviamente, mude o caminho para o EXE VLC se você precisar. Aqui estão as fotos de alguns erros: