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

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

Я не вижу настройки реестра, и стандартные [Tools -> Folder Options … -> View -> Apply to Folders], по-видимому, не влияют на FTP-сайты.

Я написал это, чтобы сделать это с помощью 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

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

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

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

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

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

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


Способ 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 с подробным представлением, и это так же просто, как движение вперед.

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


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

  • SendKeys
  • Cscript

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

  1. Запустите пакетный скрипт. Сбросьте настройки папок всех папок .

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

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

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

 , FTP-папка 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
 "Режим" = DWORD: 00000000

3a. Запустите explorer shell:mycomputerfolder и вы должны увидеть « My Computer в подробном представлении.

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

Рекомендации:
Windows 8 Desktop Icons in Tile View (настройка LogicalViewMode для других режимов просмотра)
Настроить представление папки по умолчанию для хранилища, подключенного через MTP (это задает все представления папки в один и тот же режим)

  • Как удалить папку пользователя в Windows 8.1?
  • Как я могу получить доступ к учетным записям в Windows (созданный с помощью Bash-on-Ubuntu-on-Windows)?
  • История файлов Windows не может анализировать изменения в пользовательской библиотеке
  • Отключить открытие браузера из адресной строки проводника Windows.
  • Где хранятся настройки быстрого доступа Win 10?
  • Как просмотреть расширения Explorer и отключить их?
  • Сортировка файлов по дате, но папки всегда перед файлами в проводнике Windows?
  • Проводник Windows Explorer для обеспечения функциональности с вкладками в Windows 7?
  • Windows не может найти «.exe» - только некоторые приложения
  • Как изменить значок, связанный с определенным файловым форматом (и только тем файлом) в Windows 10?
  • Windows 10 ver 1607: Проводник длинных путей не работает?
  • Давайте будем гением компьютера.