Eu escrevi um script AutoHotkey .
Observe que o AutoHotkey deve estar em execução como administrador para este trabalho.
Para usar isso, selecione a unidade no Windows Explorer da seguinte forma:
Emseguida,pressioneALT+L.
Issocarregaráodiskpartcomovolumeselecionadoeesperaráquevocêdigiteumanovaletradeunidade:
AgorabastadigitaranovaletradaunidadeepressionarEnter.
Oscriptnãorealizanenhumtipodedetecçãodeerros,portanto,useaseuprópriorisco.
Essescriptnãodetectaunidadesderedemapeadasetentaráalterá-lascomosefossemunidadeslocais.
Alémdisso,nãohácomocancelaroscriptdepoisdeiniciado.Paracancelá-lo,bastapressionarEscapeseguidodeEnter.
Vocêpoderia,defato,selecionarqualquerarquivonovolumededestinoeaindaassimfuncionaria.
Aquiestáoscript:
;Retrievedfrom;http://www.autohotkey.com/board/topic/100983-how-can-we-retrieve-the-name-of-a-file-selected/Explorer_GetSelection(hwnd="")
{
hwnd := hwnd ? hwnd : WinExist("A")
WinGetClass class, ahk_id %hwnd%
if (class="CabinetWClass" or class="ExploreWClass" or class="Progman")
for window in ComObjCreate("Shell.Application").Windows
if (window.hwnd==hwnd)
sel := window.Document.SelectedItems
for item in sel
ToReturn .= item.path "'n"
return Trim(ToReturn,"'n")
}
#IfWinActive ahk_class CabinetWClass
!l::
currentLetter:=SubStr(Explorer_GetSelection(), 1, 1)
if RegExMatch(currentLetter, "i)[a-z]") == 0
Return
Run, diskpart
Sleep 2000 ; Wait 2 seconds
Send, SELECT VOLUME %currentLetter%{enter}
Sleep 2500
Send, REM Please enter the new drive letter and press Enter{enter}
Send, ASSIGN LETTER=
Input, newDriveLetter, I V, {enter}
Send, {enter}
Send, EXIT{enter}
Return
#IfWinActive