Wie lege ich die Listenansicht als Standard-FTP-Ansicht im Windows Explorer fest?

10

Wenn ich mit Windows Explorer eine FTP-Site durchsuche, wird standardmäßig die Kachelansicht verwendet. Ich brauche es standardmäßig zur Listenansicht.

Ich sehe keine Registrierungseinstellung, und die Standardeinstellung [Extras -> Ordneroptionen ... -> Ansicht -> Auf Ordner anwenden] hat anscheinend keine Auswirkungen auf FTP-Sites.

MiloDC
quelle
1
Es scheint sich an den Ansichtsmodus für die letzten angezeigten Verzeichnisse zu erinnern. Während Sie navigieren, wird der Modus nach einer Weile vergessen und es wird wieder auf Kacheln zurückgegriffen.
Deanna
Relevante Diskussion über Technet: social.technet.microsoft.com/Forums/windows/en-US/…
Vojtěch Dohnal
Ich kann es nicht reproduzieren. Vielleicht, weil ich den Ersatz für das Classic Shell -Startmenü mit dem Classic Explorer- Add-On zum Explorer verwende. Ich habe in der Symbolleiste des Classic Explorers auf die Schaltfläche Details geklickt (ich habe die Symbolleiste so angepasst, dass sie Details enthält).
Harryc
1
@harmmc von Windows 7 bis 10
Gast-VM

Antworten:

3

Im Folgenden finden Sie eine teilweise Problemumgehung, die auf W7 SP1 und W10 v1511 getestet wurde.

  1. Führen Sie das Stapelskript aus . Einstellungen für die Ordneransicht aller Ordner zurücksetzen .

  2. In Registrierung importieren:

Windows Registry Editor Version 5.00

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

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

[HKEY_CURRENT_USER \ Software \ Klassen \ Lokale Einstellungen \ Software \ Microsoft \ Windows \ Shell \ Taschen \ AllFolders \ Shell \ {00000000-0000-0000-0000-000000000000}]
"LogicalViewMode" = dword: 00000001
"Mode" = dword: 00000000

3a. Führen explorer shell:mycomputerfolderSie und Sie sollten My Computerin der Detailansicht geöffnet sehen.

3b. Führen Sie es aus explorer ftp://your.site.comund es sollte in der Detailansicht bleiben, solange Sie nicht auf das Site-Symbol im Navigationsbereich drücken (falls vorhanden von Add Network Location).
Sie können der Einfachheit halber eine Verknüpfung mit Speicherort erstellen explorer ftp://your.site.com.

Referenzen:
Windows 8-Desktopsymbole in der Kachelansicht ( LogicalViewModefür andere Ansichtsmodi
konfigurieren ) Konfigurieren Sie die Standardordneransicht für den über MTP verbundenen Speicher (dies setzt alle Ordneransichten auf denselben Modus).

Gast-vm
quelle
2

Ich habe dies geschrieben, um es mit Autoit zu tun: Führen Sie einfach das Skript aus und Ihre FTP-Explorer-Fenster sollten sich beim ersten Anzeigen in der Listenansicht befinden. Es ist noch nicht perfekt, aber es hat die grundlegende Funktionalität, die Sie wollen. Benötigt auch die Bibliothek, die ich hier gefunden habe .

Getestet unter Windows 7 64-Bit.

#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

Nachtrag: Möglicherweise müssen Sie Zeile 257 von "AutomatingWindowsExplorer.au3" von If @OSVersion "WIN_XP" Thenauf ändernIf @OSVersion <> "WIN_XP" Then

Jiggunjer
quelle
2

Wie lege ich die Listenansicht als Standard-FTP-Ansicht im Windows Explorer fest?

Ich habe eine einfache Lösung für dieses Problem mit einer der beiden folgenden Methoden gefunden , die Sie möglicherweise für Ihre Anfrage mit nativen integrierten Windows-Technologien hilfreich finden.

Ich bin nicht sicher, ob dies die tatsächliche Lösung ist, nach der Sie suchen, um dieses Problem zu beheben, aber es kann zumindest eine akzeptable Problemumgehung sein, die Sie möglicherweise hilfreich finden, ohne die Registrierungseinstellungen ändern, Lösungen von Drittanbietern verwenden usw. zu müssen.

Im Wesentlichen werden hiermit Sendkeys verwendet , um die Tastenkombinationen Ctrl+ Shift+ zu senden und die 6Ansicht direkt nach dem Öffnen der FTP-Ordneransicht in Details zu ändern. Dies gilt jedoch nicht rekursiv, sodass dies für Ihren speziellen Bedarf möglicherweise einen Unterschied macht oder nicht.


Methode 1 (skalierbar)

Dies ist eine Methode, die darin besteht, (1) ein Batch-Skript mit der folgenden Logik zu erstellen und (2) dann einen Kurzschluss zu erstellen, der auf das Batch-Skript verweist, und dann sein Argument im entsprechenden FTP-Verbindungsdetail für den FTP-Server zu übergeben Sie werden eine Verbindung herstellen.

Dieses One-Batch-Skript, das Sie für diese Methode erstellen, kann für so viele Verknüpfungen verwendet werden, wie Sie mit dieser Methode verwenden möchten. Es ist daher eine skalierbare Lösung, falls Sie in Zukunft mehr als nur eine FTP-Verbindung benötigen.

  1. Erstellen Sie ein Stapelskript

    Erstellen Sie ein Stapelskript, bei dem es sich lediglich um eine Textdokumentdatei handelt, die mit einer .cmdoder einer .batErweiterung mit der folgenden Logik gespeichert ist , und speichern Sie sie dann in einem Pfad, auf den Sie in der Verknüpfung verweisen, die Sie im Abschnitt "Verknüpfung erstellen" erstellen.

    @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. Erstellen Sie eine Verknüpfung

    Auf Ihrem Desktop mit der rechten Maustaste und wählen Sie dann Neu -> Verknüpfung und Stecker in die folgenden Werte in dem Sie die Batch - Skript gespeichert Sie gerade (oben) erstellt und sicher die eingestellt werden <username>, <password>, <FTP server URL or IP address>Werte für Ihren Bedarf entsprechend, wählen Sie Weiter und dann geben Die FTP-Verknüpfung gibt einen aussagekräftigen Namen an, damit Sie später wissen, was es ist, und wählen Sie dann Speichern . (siehe unten Screenshots)

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

    WICHTIG: Es ist wichtig, dass der %windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"Wert im obigen Verknüpfungseigenschaftsteil in doppelte Anführungszeichen gesetzt wird .

    Geben Sie hier die Bildbeschreibung ein

    Geben Sie hier die Bildbeschreibung ein

  3. Es benutzen

    Jetzt müssen Sie nur noch auf die Verknüpfung doppelklicken, die Sie erstellt haben, um den FTP-Ordner mit der Detailansicht zu öffnen. So einfach ist das in Zukunft. Sie können das Symbol auf dieser Verknüpfung auch ändern, wenn Sie möchten.

    Geben Sie hier die Bildbeschreibung ein


Methode 2 (statisch pro Skript)

Diese Methode ähnelt Methode 1 oben , aber Sie werden nicht eine Verknüpfung für sie arbeiten schaffen müssen , aber Sie werden immer noch die festlegen müssen <username>, <password>, <FTP server URL or IP address>Werte für Ihren Bedarf entsprechend für den FTP - Server eine Verbindung hergestellt werden.

  1. Erstellen Sie ein Stapelskript

    Erstellen Sie ein Stapelskript, bei dem es sich lediglich um eine Textdokumentdatei handelt, die mit einer .cmdoder einer .batErweiterung mit der folgenden Logik gespeichert ist , und speichern Sie sie dann in einem Pfad, über den Sie doppelklicken, um sie auszuführen.

    @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. Es benutzen

    Jetzt müssen Sie nur noch auf das Batch-Skript doppelklicken, das Sie erstellt haben, um den FTP-Ordner mit der Detailansicht zu öffnen. So einfach ist das in Zukunft.

    Geben Sie hier die Bildbeschreibung ein


Weitere Ressourcen

Zuhälter Saft IT
quelle