Estou construindo um script de backup para o Windows 7, e a última ação que quero executar é "remover" com segurança a unidade USB para a qual está fazendo backup. Tenho a impressão de que conectar a unidade na mesma porta USB o tempo todo manterá o mesmo DEV_ID (me corrija se estiver errado). Com uma linha de comando (ou PowerShell), como posso dizer ao Windows para remover o hardware com segurança automaticamente sem a entrada do usuário?
Assim como um espaço reservado, seria bom saber outros sistemas operacionais que possam ter uma maneira de fazer isso.
windows
command-line
batch-file
O canadense Luke REINSTATE MONICA
fonte
fonte
Respostas:
RemoveDrive me serviu bem no passado
fonte
Além do RemoveDrive de Uwe Sieber mencionado na outra resposta, há vários utilitários que podem fazer isso. Segue uma pequena lista:
O Ejetor de disco USB é principalmente um utilitário baseado em GUI, mas pode ser usado igualmente da linha de comando para ejetar a unidade da qual o programa está sendo executado ou qualquer outra unidade, especificando a letra da unidade / nome da unidade / ponto de montagem etc. Livre e de código aberto.
O USB Safely Remove não é gratuito, mas é um utilitário de remoção de disco em esteróides, com muitos recursos avançados , incluindo, obviamente , suporte à linha de comando . Zentimo é seu irmão maior, com ainda mais recursos .
O próprio DevCon da Microsoft é a versão de linha de comando do Gerenciador de dispositivos. Além da versão original da era Win2K / XP, disponível na página KB, há versões mais recentes (32 e 64 bits) disponíveis em várias fontes da Microsoft, conforme mencionado neste artigo Onde encontrar DevCon.exe . O DevCon.exe para Windows 7 (e provavelmente também o Windows 8) pode ser encontrado enterrado no Windows Driver Kit (WDK) apropriado , conforme mencionado neste tópico (que também contém links de download para o executável extraído ).
devcon status *
oudevcon hwids *
oudevcon findall =usb
(para uma listagem mais compacta) deve informar o ID do hardware do dispositivo. Por exemplo:Você pode tentar remover o dispositivo com
devcon remove "USB\VID_0781&PID_7113"
(caracteres curinga como * são permitidos, mas tenha cuidado, ou você pode acabar removendo algo completamente diferente!)Alguém perguntou " Existe um comando do prompt do DOS (cmd.exe do Win7) para ejetar um pen drive? ", Que infelizmente foi fechado como uma duplicata desse segmento. No entanto, a pergunta era sobre a ejeção de unidades USB enquanto estiver no prompt de comando do Console de recuperação do Windows / Recuperação do sistema , portanto, é improvável que qualquer um dos utilitários acima ajude. Em tal situação, o seguinte método usando o Diskpart deve funcionar:
Digite
diskpart
e aguarde o prompt do diskpart (DISKPART>
)Tipo
list volume
Anote o número do volume da unidade USB com cuidado (use as propriedades listadas, como letra, etiqueta, tipo e tamanho da unidade, para obter ajuda)
Tipo
select volume <number>
, onde<number>
é o número do volume indicado acimaTipo
remove all dismount
Digite
exit
para sair do DiskpartAgora você deve poder remover com segurança sua unidade USB sem medo de perda de dados.
fonte
Diskpart
enquanto estava no modo normal do Windows. Esta é a mensagem que recebo após executar a etapa 5 acima. "O DiskPart removeu com êxito a letra da unidade, mas seu computador precisa ser reiniciado antes que as alterações entrem em vigor. Diskpart desmontou com êxito o volume." Tentei usá-lo em uma mídia removível (cartão SD) e não em um dispositivo removível (como o leitor de cartão SD ou a unidade flash USB). O indicador LED no leitor não se apagou, mas permaneceu aceso (ou seja, parou de piscar, como ocorre ocasionalmente quando um cartão SD fica apenas nele). Então, acho que é seguro removê-lo.remove all dismount
comando, você deve usar omountvol
comando Para mais informações, consulte a biblioteca Technet aqui e também aqui . Depois de usar,mountvol
você deve reiniciar para que as alterações tenham efeito. Como alternativa, você também pode usar o Gerenciamento de disco para atribuir uma nova letra de unidade.Para responder a esta pergunta ... Você não precisa de material de terceiros.
Execute este comando:
RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
para exibir a caixa de diálogo Remover o hardware com segurança:fonte
Como é um dispositivo de backup, significa que é um dispositivo de armazenamento; portanto, isso pode ser feito a partir do PowerShell - basta substituir X: pela letra da unidade desejada:
fonte
"F:"
ou"F:\"
não fez a diferença, assim como executar o PowerShell como administrador. A remoção segura através da barra de tarefas está funcionando. O que estou fazendo errado?$error
está vazio. A propósito, estou executando o PowerShell 5.1 no Win10 Pro. F: \ é um HDD USB externo que possui apenas uma partição (F :) - pode ser removido com segurança pela barra de tarefas sem problemas.Better performance
em sua política de remoção, embora isso não pareça fazer diferença (o pendrive USB funciona com as duas configurações, o HDD USB não). Um segundo pendrive que eu possuo também não gosta de ser ejetado pelo comando PowerShell. Trabalho: Transcend JetFlash 700 (16GB, FAT32), Não está funcionando: Seagate Expansion Portable 2015 (4TB, NTFS), Sandisk Extreme (32GB, exFAT). Todos experimentaram várias vezes na mesma porta USB. Mais uma vez, remover com segurança através do ícone da barra de tarefas sempre funciona.De acordo com este artigo de 7 tutoriais , você pode ativar a desconexão segura configurando "Remoção rápida". Isso desativará o cache de gravação por dispositivo , cujo impacto no desempenho é "insignificante"? Seus passos para o Windows 7 estão abaixo.
( Editar ) De acordo com este artigo da howtogeek , você ainda deve ter cuidado ao definir "Remoção rápida". Isso desabilitará o cache de gravação e, assim, evitará a maioria dos problemas. Mas alguns programas ainda podem estar escrevendo coisas 'ao vivo', até serem explicitamente excluídos / removidos. ( Fim da edição )
Passos:
( Editar ) Observe que você precisa usar o Gerenciador de dispositivos para alterar a configuração. Isso não pode ser feito no Gerenciador de arquivos. (Pelo menos na minha edição do Windows 10.)
fonte
Seagate BUP Slim BK USB External Drive
).