Como definir o modo de exibição de lista como o modo de exibição padrão do FTP no Windows Explorer?


10

Quando eu uso o Windows Explorer para navegar em um site FTP, o padrão é exibir o Tiles. Eu preciso dele como padrão para o modo de exibição de lista.

Não vejo uma configuração de registro, e o padrão [Ferramentas -> Opções de pasta ... -> Exibir -> Aplicar a pastas] aparentemente não tem efeito nos sites FTP.


1
Parece lembrar o modo de exibição dos últimos diretórios visualizados. À medida que você navega, esquece o modo depois de um tempo, voltando ao Tiles.
25415 Deanna

Discussão relevante sobre technet
Vojtěch Dohnal

Eu não posso reproduzir. Talvez porque esteja usando a substituição do menu Iniciar do Classic Shell com seu complemento Classic Explorer no Explorer. Cliquei no botão Detalhes dentro da barra de ferramentas do Classic Explorer (eu personalizei a barra de ferramentas para conter detalhes).
harrymc

1
@harrymc do windows 7 para 10
guest-vm

Respostas:


3

Para o registro, aqui está uma solução parcial testada no W7 SP1 e W10 v1511.

  1. Execute o script em lote Redefinir configurações de exibição de pasta de todas as pastas .

  2. Importar para o registro:

Editor do Registro do Windows versão 5.00

; Meu computador
[HKEY_CURRENT_USER \ Software \ Classes \ CLSID \ {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ ShellFolder]
"FolderType" = ""

Pasta FTP da Microsoft
[HKEY_CURRENT_USER \ Software \ Classes \ CLSID \ {63da6ec0-2e98-11cf-8d82-444553540000} \ ShellFolder]
"FolderType" = ""

[HKEY_CURRENT_USER \ Software \ Classes \ Configurações locais \ Software \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ Shell \ {00000000-0000-0000-0000-000000000000}]
"LogicalViewMode" = dword: 00000001
"Mode" = dword: 00000000

3a. Execute explorer shell:mycomputerfoldere você deverá ver My Computeraberto na exibição de detalhes.

3b Execute explorer ftp://your.site.come ele deve permanecer na exibição de detalhes , desde que você não pressione o ícone do site no painel de navegação (se presente por Add Network Location).
Você pode criar um atalho com o local explorer ftp://your.site.compor conveniência.

Referências:
Ícones da área de trabalho do Windows 8 no modo de exibição lado a lado (configurar LogicalViewModepara outros modos de exibição)
Configurar a exibição de pasta padrão para armazenamento conectado via MTP (isso define todas as exibições de pasta no mesmo modo)


2

Eu escrevi isso para fazer isso com o Autoit: basta executar o script e suas janelas do ftp explorer devem estar na exibição de lista quando vistas pela primeira vez. Ainda não é perfeito, mas tem a funcionalidade básica que você deseja. Também requer a biblioteca que encontrei aqui .

Testado no Windows 7 de 64 bits.

#include "Automating Windows Explorer\Includes\AutomatingWindowsExplorer.au3" ;UDF
#include <Array.au3>

Local $str = "Address: ftp" ;part of visible text in explorer control, unique to ftp, I think...
Local $CheckedWindows[5] ;Keep track of activated windows because I don't have a shell hook for window.created
Local $hExplorer

while 1
    Sleep(2000)    
    $hExplorer = WinWaitActive("[CLASS:CabinetWClass]", $str)

    If not ContainsElement($CheckedWindows,$hExplorer) then ;Only trigger on a *new* window
        setFTPview($str,$hExplorer)
        _ArrayAdd($CheckedWindows,$hExplorer)
    EndIf
    ;delete unused handles to prevent aliases or large array, but I don't know the shell hook for window.closed
    ;alternative is to periodically loop through existing windows and delete non-existing handles (todo)
WEnd

func ContainsElement($arr,$el)
    Local $Bound = UBound($arr)
    For $i=0 to ($Bound -1)
        If $arr[$i] == $el then return True
    Next
    return False
Endfunc

func setFTPview($str,$hExplorer)
    GetIShellBrowser( $hExplorer )
    If Not IsObj( $oIShellBrowser ) Then
        MsgBox( 0, "Automating Windows Explorer", "Could not get an IShellBrowser interface. Terminating." )
    Return
    EndIf
    GetShellInterfaces() ; Get other interfaces, might not be needed
    SetIconView($FVM_LIST)
    Sleep(1000)
endfunc

Adendo: pode ser necessário alterar a linha 257 de "AutomatingWindowsExplorer.au3" de If @OSVersion "WIN_XP" ThenparaIf @OSVersion <> "WIN_XP" Then


2

Como definir o modo de exibição de lista como o modo de exibição padrão do FTP no Windows Explorer?

Eu vim com uma solução simples para esse problema usando um dos dois métodos abaixo que você pode achar útil para sua consulta com tecnologias nativas do Windows internas.

Não tenho certeza se essa será a solução real que você está procurando para resolver esse problema, mas pode ser uma solução aceitável, pelo menos, que você pode achar útil sem precisar alterar as configurações do registro, usar soluções de terceiros etc.

Essencialmente, isso usa sendkeys para enviar as teclas de atalho Ctrl+ Shift+6 para alterar a visualização para Detalhes logo após a visualização da pasta FTP ser aberta –– no entanto, isso não se aplica recursivamente, portanto isso pode ou não fazer a diferença para sua necessidade específica.


Método 1 (escalável)

Este é um método que consiste em (1) criar um script em lote com a lógica abaixo e (2) criar um curto que aponte para o script em lote e, em seguida, ter seu argumento passará os detalhes da conexão FTP aplicável ao servidor FTP você vai se conectar.

Esse script em lote criado para esse método pode ser usado para quantos atalhos você desejar usar com esse método, por isso é uma solução escalável, caso sua necessidade cresça para mais do que apenas uma conexão FTP no futuro.

  1. Criar um script em lote

    Crie um script em lote, que é apenas um arquivo de documento de texto salvo com uma extensão .cmdou .batcom a lógica abaixo e salve-o em algum caminho que você fará referência no atalho criado na seção criar atalho.

    @ECHO OFF
    
    %~1
    
    :VBSDynamicBuild
    SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
    IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
    ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
    ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
    ECHO WshShell.SendKeys "^+6"                              >>"%TempVBSFile%
    ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
    
    CSCRIPT //nologo "%TempVBSFile%"
    
    EXIT /B
    
  2. Crie um atalho

    Na área de trabalho, clique com o botão direito e selecione Novo -> Atalho e conecte os valores abaixo onde você salvou o script de comandos que você acabou de criar (acima) e certifique-se de conjunto o <username>, <password>, <FTP server URL or IP address>valores para a sua necessidade de acordo, selecionar Avançar e, em seguida, dar o atalho do FTP é um nome significativo para que você saiba o que é mais tarde e selecione Salvar . (veja abaixo as capturas de tela)

    D:\BatchScripts\OpenFTPDetailView.cmd "%windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"
    

    IMPORTANTE: É importante que haja aspas duplas ao redor do %windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"valor " na parte da propriedade do atalho acima.

    insira a descrição da imagem aqui

    insira a descrição da imagem aqui

  3. Usando isso

    Agora tudo o que você precisa fazer é clicar duas vezes no atalho que você criou para abrir a pasta FTP com o modo de exibição Detalhes, e é tão simples quanto isso. Você pode alterar o ícone neste atalho, se desejar.

    insira a descrição da imagem aqui


Método 2 (estático por script)

Este método é semelhante ao método 1 acima, mas você não precisará criar um atalho para que ele funcione, mas você ainda precisa definir o <username>, <password>, <FTP server URL or IP address>os valores para a sua necessidade de acordo para o servidor FTP que você vai conectar.

  1. Criar um script em lote

    Crie um script em lote, que é apenas um arquivo de documento de texto salvo com uma extensão .cmdou .batcom a lógica abaixo e salve-o em algum caminho que você usará para clicar duas vezes para executá-lo.

    @ECHO OFF
    
    %windir%\explorer.exe ftp://<username>:<password>@<FTP server URL or IP address>/
    
    :VBSDynamicBuild
    SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
    IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
    ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
    ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
    ECHO WshShell.SendKeys "^+6"                              >>"%TempVBSFile%
    ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
    
    CSCRIPT //nologo "%TempVBSFile%"
    
    EXIT /B
    
  2. Usando isso

    Agora tudo o que você precisa fazer é clicar duas vezes no script em lote criado para abrir a pasta FTP com a exibição Detalhes e é tão simples quanto isso avançar.

    insira a descrição da imagem aqui


Recursos adicionais

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.