Jak ustawić widok listy jako domyślny widok FTP w Eksploratorze Windows?


10

Kiedy używam Eksploratora Windows do przeglądania witryny FTP, domyślnie jest to widok Kafelków. Potrzebuję go domyślnie do widoku listy.

Nie widzę ustawienia rejestru, a standardowe [Narzędzia -> Opcje folderów ... -> Widok -> Zastosuj do folderów] najwyraźniej nie ma wpływu na witryny FTP.


1
Wygląda na to, że pamięta tryb widoku dla kilku ostatnio przeglądanych katalogów. Podczas nawigowania po chwili zapomina o trybie, wracając do Kafelków.
Deanna


Nie mogę tego odtworzyć. Może dlatego, że korzystam z menu Start Classic Shell Start z dodatkiem Classic Explorer do Explorera. Kliknąłem przycisk Szczegóły na pasku narzędzi Eksploratora klasycznego (dostosowałem pasek narzędzi, aby zawierał Szczegóły).
harrymc

1
@harrymc z Windows 7 do 10
guest-vm

Odpowiedzi:


3

Dla przypomnienia, oto częściowe obejście przetestowane na W7 SP1 i W10 v1511.

  1. Uruchom skrypt wsadowy Zresetuj ustawienia widoku folderów dla wszystkich folderów .

  2. Importuj do rejestru:

Edytor rejestru systemu Windows w wersji 5.00

;Mój komputer
[HKEY_CURRENT_USER \ Software \ Classes \ CLSID \ {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ ShellFolder]
„FolderType” = „”

; Microsoft FTP Folder
[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
„Tryb” = dword: 00000000

3a. Uruchom explorer shell:mycomputerfolderi powinieneś zobaczyć My Computerotwarte w widoku szczegółów.

3b. Uruchom explorer ftp://your.site.comi powinien pozostać w widoku szczegółów, dopóki nie naciśniesz ikony strony w okienku nawigacji (jeśli jest obecna Add Network Location). Dla wygody
możesz utworzyć skrót z lokalizacją explorer ftp://your.site.com.

Odniesienia:
Ikony pulpitu systemu Windows 8 w widoku kafelków (skonfiguruj LogicalViewModedla innych trybów widoku)
Skonfiguruj domyślny widok folderów dla magazynu podłączonego przez MTP (ustawia widok wszystkich folderów na ten sam tryb)


2

Napisałem to, aby zrobić to z Autoit: po prostu uruchom skrypt, a okna eksploratora ftp powinny być w widoku listy podczas pierwszego przeglądania. Nie jest jeszcze idealny, ale ma podstawową funkcjonalność, którą chcesz. Wymaga również biblioteki, którą tu znalazłem .

Testowany na 64-bitowym systemie Windows 7.

#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

Dodatek: może być konieczna zmiana wiersza 257 „AutomatingWindowsExplorer.au3” z If @OSVersion "WIN_XP" ThennaIf @OSVersion <> "WIN_XP" Then


2

Jak ustawić widok listy jako domyślny widok FTP w Eksploratorze Windows?

Wymyśliłem proste rozwiązanie tego problemu, korzystając z jednej z dwóch poniższych metod , które mogą okazać się pomocne w zapytaniu dotyczącym wbudowanych technologii Windows.

Nie jestem pewien, czy będzie to rzeczywiste rozwiązanie, którego szukasz, aby rozwiązać ten problem, ale może to być akceptowalne obejście, które może okazać się pomocne bez potrzeby zmiany ustawień rejestru, korzystania z rozwiązań innych firm itp.

Zasadniczo używa klawiszy wysyłania, aby wysłać klawisze skrótu Ctrl+ Shift+6 , aby zmienić widok na Szczegóły zaraz po otwarciu widoku folderu FTP - nie dotyczy to jednak rekurencyjnie, więc może, ale nie musi, wpłynąć na twoją konkretną potrzebę.


Metoda 1 (skalowalna)

Jest to metoda, która będzie polegać na (1) utworzeniu skryptu wsadowego z poniższą logiką i (2) następnie utworzeniu skrótu wskazującego na skrypt wsadowy, a następnie podanie jego argumentu przekaże odpowiednie szczegóły połączenia FTP dla serwera FTP połączysz się z.

Tego skryptu wsadowego utworzonego dla tej metody można używać z dowolną liczbą skrótów, których chcesz używać w tej metodzie, dzięki czemu jest to skalowalne rozwiązanie, jeśli potrzebujesz więcej niż jednego połączenia FTP w przyszłości.

  1. Utwórz skrypt wsadowy

    Utwórz skrypt wsadowy, który jest tylko plikiem dokumentu tekstowego zapisanym z rozszerzeniem .cmdlub .batz poniższą logiką, a następnie zapisz go w ścieżce, do której będziesz się odnosić w skrócie utworzonym w sekcji tworzenia skrótów.

    @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. Utworzyć skrót

    Na pulpicie kliknij prawym przyciskiem myszy, a następnie wybierz Nowy -> Skrót i podłącz poniżej wartości, gdzie został zapisany skrypt wsadowy właśnie utworzony (powyżej) i być pewien, ustaw <username>, <password>, <FTP server URL or IP address>wartości dla potrzeb odpowiednio, wybierz Dalej , a następnie podać skrót FTP ma sensowną nazwę, dzięki czemu wiesz, co to jest później, a następnie wybierz Zapisz . (patrz poniższe zrzuty ekranu)

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

    WAŻNE: Ważne jest, aby wokół „ %windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"wartości ” w powyższej części właściwości skrótu były podwójne cudzysłowy .

    wprowadź opis zdjęcia tutaj

    wprowadź opis zdjęcia tutaj

  3. Użyj tego

    Teraz wystarczy kliknąć dwukrotnie utworzony dla niego skrót, aby otworzyć folder FTP z widokiem szczegółów i przejście do przodu jest tak proste. Możesz także zmienić ikonę tego skrótu, jeśli chcesz.

    wprowadź opis zdjęcia tutaj


Metoda 2 (statyczna na skrypt)

Ta metoda jest podobna do metody 1 powyżej, ale nie trzeba będzie utworzyć skrót do jego pracy, ale będzie trzeba jeszcze ustawić <username>, <password>, <FTP server URL or IP address>wartości dla potrzeb związku z tym na serwerze FTP będziesz połączyć.

  1. Utwórz skrypt wsadowy

    Utwórz skrypt wsadowy, który jest tylko plikiem dokumentu tekstowego zapisanym z rozszerzeniem .cmdlub .batz poniższą logiką, a następnie zapisz go w ścieżce, której użyjesz do dwukrotnego kliknięcia, aby go wykonać.

    @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. Użyj tego

    Teraz wystarczy kliknąć dwukrotnie utworzony skrypt wsadowy, aby otworzyć folder FTP z widokiem szczegółów i przejście do przodu jest tak proste.

    wprowadź opis zdjęcia tutaj


Dalsze zasoby

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.