Como fechar uma pasta aberta específica usando o arquivo cmd ou batch?

1

Eu posso abrir uma pasta específica usando este comando:

start "" "c:\foldername"

Na mesma linha, como posso fechar a mesma pasta usando o prompt de comando ou lote?

    
por Philip 28.10.2017 / 18:13

1 resposta

1

Por padrão, o Explorer não gera processos separados, então você não pode matar um processo sem matar todas as janelas, a barra de tarefas e tudo o que o Explorer faz.

No entanto, você pode simplesmente habilitar a abertura de janelas do explorador em seu próprio processo e, de repente, você pode parar uma janela a partir da linha de comando.

Como mudar o explorador para abrir uma janela em seu próprio processo?
Chegar lá é diferente para cada versão do Windows, e desde que você esqueceu de mencionar qual versão do Windows você está usando, vou assumir o Windows 10.

Em qualquer janela do explorer, abra a guia Exibir e, à direita, pressione opções.

Nas opções do explorador, vá para a guia Exibir e, em Opções avançadas, procure uma configuração que diga: Launch folder windows in a separate process

Essa opção também pode ser alterada no registro, mas não sei sua localização exata.

Se você quiser matar uma janela pelo caminho, também terá que alterar a seguinte configuração: enable Display the full path in the title bar

Essa segunda configuração é necessária porque precisamos expressar a janela específica que queremos matar pelo título. Por padrão, ele mostra apenas o nome da pasta atual.

Portanto, se você tiver um C: \ Program Files e um D: \ Program Files, ele mostrará Program Files para ambos, e se você tiver ambas as pastas abertas, o comando 1 irá matar ambas as janelas.

Dito isso, depois de ativar isso, você pode usar taskkill para finalizar essa janela.

Para saber que tipo de comando você teria que inserir, você pode usar tasklist para encontrar a janela primeiro. A beleza da lista de tarefas é que ela usa basicamente a mesma sintaxe da taskkill. Pelo menos para o que queremos, é o mesmo.

Encontrando a janela
Abra a janela que você deseja primeiro e abra um prompt de comando. Agora digite

tasklist /V /FI "IMAGENAME eq explorer.exe"

Isso lhe dirá exatamente o que você pode matar.

No seu caso, você vai querer usar o seguinte:

tasklist /V /FI "WINDOWTITLE eq C:\Program Files"

se você quiser matar os arquivos de programas.

Observe que, se você tiver várias janelas abertas, o nome do Windows será mostrado apenas na janela LAST que estava ativa.

Se você quiser encontrar qualquer janela que tenha um caminho aberto com C: \ no Explorer, você pode usar o seguinte comando:

tasklist /V /FI "IMAGENAME eq explorer.exe" /FI "WINDOWTITLE eq C*"

Note que eu uso um * aqui. A lista de tarefas pode usar um curinga, mas somente após a pesquisa. Portanto, no caso acima, o título do Windows ainda tem que começar com um C, mas qualquer outra coisa é opcional.

Agora, uma vez que você descobriu qual é o comando que deseja usar para matar a janela, substitua a lista de tarefas por taskkill e remova o parâmetro / V. O / V é usado apenas para mostrar mais informações, como o título do Windows.

Então, para matar a última janela aberta do explorador que começa com um C, você pode usar:

taskkill /FI "IMAGENAME eq explorer.exe" /FI "WINDOWTITLE eq C*"
    
por 28.10.2017 / 21:21