Як встановити перегляд списку як перегляд FTP за замовчуванням у Провіднику Windows?


10

Коли я використовую Провідник Windows для перегляду FTP-сайту, він за замовчуванням переглядає Tiles. Мені потрібно це за замовчуванням для перегляду списку.

Я не бачу налаштувань реєстру, і стандартний [Інструменти -> Параметри папок ... -> Перегляд -> Застосувати до папок], мабуть, не впливає на FTP-сайти.


1
Схоже, запам'ятовується режим перегляду останніх декількох переглянутих каталогів. Під час навігації він через деякий час забуває режим, повертаючись назад до плитки.
Діана

Відповідна дискусія на сайті technet: social.technet.microsoft.com/Forums/windows/en-US/…
Vojtěch

Я не можу це відтворити. Можливо, тому, що я використовую заміну меню "Пуск" Класичної оболонки з її додатком Classic Explorer до Explorer. Я натиснув кнопку "Деталі" на панелі інструментів Classic Explorer (я налаштував панель інструментів, щоб містити подробиці).
harrymc

1
@harrymc з Windows 7 до 10
гостьовий вм

Відповіді:


3

Для запису, ось частковий спосіб тестування на W7 SP1 та W10 v1511.

  1. Запустіть пакетний сценарій Скидання параметрів подання папок у всіх папках .

  2. Імпорт до реєстру:

Версія редактора реєстру Windows 5.00

;Мій комп'ютер
[HKEY_CURRENT_USER \ Програмне забезпечення \ Класи \ CLSID \ {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ ShellFolder]
"FolderType" = ""

; Папка Microsoft FTP
[HKEY_CURRENT_USER \ Програмне забезпечення \ Класи \ CLSID \ {63da6ec0-2e98-11cf-8d82-444553540000} \ ShellFolder]
"FolderType" = ""

[HKEY_CURRENT_USER \ Програмне забезпечення \ Класи \ Локальні налаштування \ Програмне забезпечення \ Майкрософт \ Windows \ Оболонка \ Сумки \ Усі папки \ Оболонка \ {00000000-0000-0000-0000-000000000000}]
"LogicalViewMode" = dword: 00000001
"Режим" = dword: 00000000

3а. Запустіть explorer shell:mycomputerfolderі вам слід побачити My Computerвідкритий у деталі перегляд.

3б. Запустіть, explorer ftp://your.site.comі він повинен залишатися у детальному перегляді до тих пір, поки ви не натиснете на піктограму сайту на панелі навігації (за наявності Add Network Location).
Ви можете створити ярлик з розташуванням explorer ftp://your.site.comдля зручності.

Посилання:
Піктограми робочого столу Windows 8 у режимі "Перегляд плитки" (налаштування LogicalViewModeдля інших режимів перегляду)
Налаштування режиму перегляду папок за замовчуванням для пам’яті, підключеного через MTP (це налаштування перегляду всіх папок у той самий режим)


2

Я написав це, щоб зробити це за допомогою Autoit: просто запустіть скрипт, і ваші windows ftp Explorer повинні знаходитись у списку при першому перегляді. Це ще не ідеально, але він має основний функціонал, який ви хочете. Також потрібна бібліотека, яку я тут знайшов .

Тестується на Windows 7 64-розрядні.

#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

Додаток: Вам може знадобитися змінити рядок 257 "AutomatingWindowsExplorer.au3" з If @OSVersion "WIN_XP" ThenнаIf @OSVersion <> "WIN_XP" Then


2

Як встановити перегляд списку як перегляд FTP за замовчуванням у Провіднику Windows?

Я придумав просте рішення цієї проблеми, використовуючи будь-який із двох нижче методів, які можуть бути корисними для вашого запиту із вбудованими вбудованими технологіями Windows.

Я не впевнений, чи це буде фактичне рішення, яке ви шукаєте, щоб вирішити цю проблему, але це може бути прийнятним способом вирішення, принаймні, яке може бути корисним, не потребуючи зміни параметрів реєстру, використання сторонніх рішень тощо.

По суті, це використовує сенсаційні клавіші для надсилання клавіш клавіш Ctrl+ Shift+,6 щоб змінити подання на Деталі відразу після відкриття вікна папки FTP - це, однак, не застосовується рекурсивно, тому це може або не може змінити вашу особливу потребу.


Спосіб 1 (масштабований)

Це метод, який буде складатися з (1) створення пакетного сценарію з нижченаведеною логікою та (2), а потім створення короткого, який вказує на пакетний сценарій, а потім, маючи його аргумент, передається у відповідну деталь з'єднання FTP для FTP-сервера ви підключитесь до.

Цей єдиний пакетний скрипт, який ви створюєте для цього методу, може використовуватися для стільки ярликів, скільки ви хочете використовувати за допомогою цього методу, так що це масштабоване рішення, якщо у майбутньому вам потрібно буде розростатися більше ніж одного FTP-з'єднання.

  1. Створіть пакетний сценарій

    Створіть пакетний скрипт, який є лише текстовим файлом документа, збереженим з а .cmdабо .batрозширенням із наведеною нижче логікою, а потім збережіть його до певного шляху, на який ви посилаєтесь у ярлику, який ви створюєте у розділі створення ярлика.

    @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. Створіть ярлик

    На робочому столі правою кнопкою миші і виберіть New -> Ярлик і штепсель нижче значень , де ви зберегли пакетний скрипт , який ви тільки що створили (вище) , і бути впевнені , що встановити <username>, <password>, <FTP server URL or IP address>значення для вашої потреби відповідно, виберіть Далі , а потім дати ярлик FTP - значуще ім'я, щоб ви знали, що воно пізніше, а потім виберіть Зберегти . (див. нижче знімки екрана)

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

    ВАЖЛИВО: Важливо, щоб %windir%\explorer.exe ftp://<Username>:<password>@<FTP server URL or IP address>/"у вказаній вище частині властивості ярлика було подвійні лапки навколо " .

    введіть тут опис зображення

    введіть тут опис зображення

  3. Використовуючи це

    Тепер все, що вам потрібно зробити, - це двічі клацнути створений для неї ярлик, щоб відкрити папку FTP з поданням « Деталі», і це так само просто, як і рухатися вперед. Ви можете змінити піктограму на цій ярлиці, якщо хочете.

    введіть тут опис зображення


Спосіб 2 (статичний на сценарій)

Цей метод аналогічний методу 1 вище , але вам не потрібно буде створити ярлик для його роботи , але вам все одно потрібно встановити <username>, <password>, <FTP server URL or IP address>значення для вашої потреби відповідно для FTP - сервера , який ви будете підключатися.

  1. Створіть пакетний сценарій

    Створіть пакетний скрипт, який є лише текстовим файлом документа, збереженим з .cmdабо .batрозширенням із наведеною нижче логікою, а потім збережіть його на деякий шлях, який ви скористаєтесь для подвійного клацання для його виконання.

    @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. Використовуючи це

    Тепер все, що вам потрібно зробити, - це двічі клацнути створений для нього пакетний сценарій, щоб відкрити папку FTP з поданням « Подробиці», і це так само просто, як рухатися вперед.

    введіть тут опис зображення


Подальші ресурси

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.