Existe uma maneira de alterar uma letra de unidade diretamente no explorer?

2

Normalmente isso é feito através do gerenciamento de disco, mas parece que deve haver uma maneira de fazê-lo diretamente no Windows Explorer. Isso pode ser útil se você estiver trabalhando com muitas unidades flash ou externas.

Embora eu saiba que não há solução nativa, esperava que houvesse uma maneira fácil de fazer isso diretamente na interface do Windows Explorer. Eu pensei que talvez alguém tivesse escrito uma ferramenta ou talvez um script autohotkey ou algum outro tipo de script.

    
por Jason Clement 30.07.2015 / 20:45

2 respostas

1

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
    
por 30.07.2015 / 22:10
1

Não há nenhuma maneira no Windows Explorer.

Você poderia fazer isso através da linha de comando usando diskpart .

    
por 30.07.2015 / 20:52