Как установить вид списка как вид FTP по умолчанию в проводнике Windows?

10

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

Я не вижу настройки реестра, и стандартные [Инструменты -> Параметры папок ... -> Вид -> Применить к папкам], очевидно, не влияют на FTP-сайты.

MiloDC
источник
1
Кажется, помнят режим просмотра для последних нескольких просмотренных каталогов. Когда вы перемещаетесь, он через некоторое время забывает о режиме, возвращаясь к Tiles.
Дина
Соответствующее обсуждение technet
Войтех Дональ
Я не могу воспроизвести это. Возможно, потому что я использую замену Classic Shell Start-menu надстройкой Classic Explorer к Explorer. Я нажал на кнопку «Подробности» на панели инструментов Classic Explorer (я настроил панель инструментов, чтобы она содержала «Детали»).
harrymc
1
@harrymc из windows 7–10
guest-vm

Ответы:

3

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

  1. Запустите пакетный скрипт Reset Folder View Настройки всех папок .

  2. Импорт в реестр:

Редактор реестра Windows, версия 5.00

;Мой компьютер
[HKEY_CURRENT_USER \ Software \ Classes \ CLSID \ {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ ShellFolder]
"FolderType" = ""

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

[HKEY_CURRENT_USER \ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ Shell \ {00000000-0000-0000-0000-000000000000}]
"LogicalViewMode" = DWORD: 00000001
"Режим" = DWORD: 00000000

3a. Запустите explorer shell:mycomputerfolderи вы должны увидеть My Computerоткрытый в деталях вид.

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

Ссылки:
Значки рабочего стола Windows 8 в представлении «Плитка» (настройка LogicalViewModeдля других режимов просмотра)
Настройка представления папки по умолчанию для хранилища, подключенного через MTP (при этом для всех представлений папок устанавливается один и тот же режим)

гость-VM
источник
2

Я написал это, чтобы сделать это с Autoit: просто запустите скрипт, и ваши окна 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

jiggunjer
источник
2

Как установить вид списка как вид FTP по умолчанию в проводнике Windows?

Я придумал простое решение этой проблемы, используя один из двух методов ниже , которые могут оказаться полезными для вашего запроса с помощью встроенных технологий Windows.

Я не уверен, что это будет именно то решение, которое вы ищете для решения этой проблемы, но это может быть приемлемый обходной путь, по крайней мере, который вам может пригодиться без необходимости изменять параметры реестра, использовать сторонние решения и т. Д.

По сути, это использует sendkeys для отправки сочетаний клавиш Ctrl+ Shift+,6 чтобы изменить представление на Details сразу после открытия представления 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. Создать ярлык

    На рабочем столе щелкните правой кнопкой мыши, затем выберите « Создать» -> « Ярлык» и вставьте нижеприведенные значения, в которых вы сохранили только что созданный пакетный скрипт (выше), и обязательно установите значения « <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 с представлением « Подробности», и это так же просто, как двигаться вперед.

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


Дополнительные ресурсы

Сок Pimp IT
источник