¿Cómo establecer la Vista de lista como la vista FTP predeterminada en el Explorador de Windows?


10

Cuando uso el Explorador de Windows para explorar un sitio FTP, el valor predeterminado es la vista de mosaicos. Lo necesito por defecto a la vista de Lista.

No veo una configuración de registro, y el estándar [Herramientas -> Opciones de carpeta ... -> Ver -> Aplicar a carpetas] aparentemente no tiene efecto en los sitios FTP.


1
Parece recordar el modo de vista de los últimos directorios vistos. A medida que navega, olvida el modo después de un tiempo, volviendo a Tiles.
Deanna


No puedo reproducirlo Tal vez porque estoy usando el reemplazo del menú de inicio de Classic Shell con su complemento Classic Explorer para Explorer. Hice clic en el botón Detalles dentro de la barra de herramientas de Classic Explorer (personalicé la barra de herramientas para contener Detalles).
harrymc

1
@harrymc de windows 7 a 10
guest-vm

Respuestas:


3

Para el registro, aquí hay una solución parcial probada en W7 SP1 y W10 v1511.

  1. Ejecute el script por lotes Restablecer configuración de vista de carpeta de todas las carpetas .

  2. Importar al registro:

Windows Registry Editor Versión 5.00

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

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

[HKEY_CURRENT_USER \ Software \ Classes \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ Shell \ {00000000-0000-0000-0000-000000000000}]
"LogicalViewMode" = dword: 00000001
"Modo" = dword: 00000000

3a. Ejecute explorer shell:mycomputerfoldery debería ver My Computerabierto en la vista de detalles.

3b. Ejecute explorer ftp://your.site.comy debe permanecer en la vista de detalles siempre que no presione el icono del sitio en el panel de navegación (si está presente Add Network Location).
Puede crear un acceso directo con ubicación explorer ftp://your.site.compara mayor comodidad.

Referencias:
Iconos de escritorio de Windows 8 en Vista de mosaico (configurar LogicalViewModepara otros modos de vista)
Configurar la vista de carpeta predeterminada para el almacenamiento conectado a través de MTP (esto configura todas las vistas de carpeta en el mismo modo)


2

Escribí esto para hacerlo con Autoit: simplemente ejecute el script y las ventanas de su explorador ftp deberían estar en la vista de lista cuando se visualicen por primera vez. Todavía no es perfecto, pero tiene la funcionalidad básica que desea. También requiere la biblioteca que encontré aquí .

Probado en 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

Anexo: es posible que deba cambiar la línea 257 de "AutomatingWindowsExplorer.au3" de If @OSVersion "WIN_XP" ThenaIf @OSVersion <> "WIN_XP" Then


2

¿Cómo establecer la Vista de lista como la vista FTP predeterminada en el Explorador de Windows?

Se me ocurrió una solución simple a este problema utilizando cualquiera de los dos métodos a continuación que pueden ser útiles para su consulta con las tecnologías nativas de Windows incorporadas.

No estoy seguro de si esta será la solución real que está buscando para resolver este problema, pero puede ser una solución aceptable al menos que puede serle útil sin necesidad de cambiar la configuración del registro, usar soluciones de terceros, etc.

Esencialmente, esto usa sendkeys para enviar las teclas de acceso directo Ctrl+ Shift+6 para cambiar la vista a Detalles justo después de que se abra la vista de la carpeta FTP; sin embargo, esto no se aplica de manera recursiva, por lo que esto puede o no marcar una diferencia para su necesidad particular.


Método 1 (escalable)

Este es un método que consistirá en (1) crear un script por lotes con la lógica siguiente y (2) luego crear un corto que apunte al script por lotes y luego tener su argumento pasará los detalles de conexión FTP aplicables para el servidor FTP te conectarás

Este script por lotes que crea para este método puede usarse para todos los accesos directos que desee usar con este método, por lo que es una solución escalable en caso de que su necesidad crezca para más de una conexión FTP en el futuro.

  1. Crear un script por lotes

    Cree un script por lotes, que es solo un archivo de documento de texto guardado con una extensión .cmdo .batcon la lógica siguiente y luego guárdelo en alguna ruta que haga referencia en el acceso directo que cree en la sección Crear acceso directo.

    @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. Crea un atajo

    En el escritorio, haga clic derecho y seleccione Nuevo -> Acceso directo y el enchufe en el debajo de los valores que ha guardado el archivo por lotes que acaba de crear (arriba) y fijarse que el <username>, <password>, <FTP server URL or IP address>valores para sus necesidades en consecuencia, seleccionar Siguiente y luego dar el acceso directo FTP es un nombre significativo para que sepa qué es más tarde y luego seleccione Guardar . (ver capturas de pantalla a continuación)

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

    IMPORTANTE: es importante que haya comillas dobles alrededor del " %windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"valor en la parte de la propiedad de acceso directo anterior.

    ingrese la descripción de la imagen aquí

    ingrese la descripción de la imagen aquí

  3. Usándolo

    Ahora todo lo que necesita hacer es hacer doble clic en el acceso directo que creó para abrir la carpeta FTP con la vista Detalles y es tan simple como avanzar. Puede cambiar el icono de este acceso directo si lo desea también.

    ingrese la descripción de la imagen aquí


Método 2 (estático por script)

Este método es similar al método 1 anterior, pero que no tendrá que crear un acceso directo para que funcione, pero todavía tendrá que configurar el <username>, <password>, <FTP server URL or IP address>valores para sus necesidades en consecuencia para el servidor FTP que van a conectarse.

  1. Crear un script por lotes

    Cree un script por lotes, que es solo un archivo de documento de texto guardado con una extensión .cmdo .batcon la lógica siguiente y luego guárdelo en alguna ruta que usará para hacer doble clic para ejecutarlo.

    @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. Usándolo

    Ahora todo lo que necesita hacer es hacer doble clic en el script por lotes que creó para abrir la carpeta FTP con la vista Detalles y es tan simple como avanzar.

    ingrese la descripción de la imagen aquí


Recursos adicionales

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.