如何在Windows资源管理器中将“列表”视图设置为默认的FTP视图?


10

当我使用Windows资源管理器浏览FTP站点时,它默认为Tiles视图。我需要它默认为列表视图。

我没有看到注册表设置,标准的[工具->文件夹选项...->视图->应用于文件夹]显然对FTP站点无效。


1
似乎记得最近查看过的几个目录的查看模式。当您四处浏览时,它会在一段时间后忘记模式,并恢复为图块。
Deanna


我无法复制它。也许是因为我使用的是Classic Shell Start-menu替代品,以及将它的Classic Explorer加载项添加到Explorer的功能。我单击了Classic Explorer工具栏内的Details按钮(我自定义了工具栏以包含Details)。
harrymc '16

1
@harrymc从Windows 7到10
guest-vm

Answers:


3

作为记录,这是在W7 SP1和W10 v1511上测试的部分变通办法。

  1. 运行批处理脚本“ 重置所有文件夹的文件夹视图设置”

  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 \ 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

参考:
Tile View中的Windows 8桌面图标LogicalViewMode为其他视图模式
配置为通过MTP连接的存储配置默认文件夹视图(将所有文件夹视图设置为相同模式)


2

我使用Autoit编写该代码是为了做到这一点:只需运行脚本,您的ftp浏览器窗口在首次查看时应处于列表视图中。它并不完美,但是具有您想要的基本功能。还需要我在这里找到的库。

在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

附录:您可能需要将“ AutomatingWindowsExplorer.au3”的第257行从If @OSVersion "WIN_XP" Then更改为If @OSVersion <> "WIN_XP" Then


2

如何在Windows资源管理器中将“列表”视图设置为默认的FTP视图?

我使用以下两种方法中的任何一种提出了一个解决此问题的简单方法,您可能会发现它们对使用本机内置Windows技术进行查询很有帮助。

我不确定这是否是您要解决此问题的实际解决方案,但它可能是可以接受的解决方法,至少可以在不更改注册表设置,使用第三方解决方案等的情况下对您有所帮助。

本质上,这是使用sendkeys发送Ctrl+ Shift+6快捷键以在打开FTP文件夹视图后立即将视图更改为“ 详细信息” –但是,这不适用于递归,因此这可能会或可能不会对您的特定需求有所帮助。


方法1(可伸缩)

这是一种方法,其中包括(1)使用以下逻辑创建批处理脚本,以及(2)然后创建一个指向该批处理脚本的short,然后将其参数传递给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快捷方式是一个有意义的名称,以便以后知道它的名称,然后选择Save。(请参见下面的屏幕截图)

    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文件夹,就像前进一样简单。

    在此处输入图片说明


更多资源

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.