Windowsエクスプローラーを使用してFTPサイトを参照すると、デフォルトでタイルビューが表示されます。デフォルトでリストビューにする必要があります。
レジストリ設定が表示されず、標準の[ツール->フォルダオプション...->表示->フォルダに適用]はFTPサイトに影響を与えないようです。
Windowsエクスプローラーを使用してFTPサイトを参照すると、デフォルトでタイルビューが表示されます。デフォルトでリストビューにする必要があります。
レジストリ設定が表示されず、標準の[ツール->フォルダオプション...->表示->フォルダに適用]はFTPサイトに影響を与えないようです。
回答:
参考までに、W7 SP1およびW10 v1511でテストされた部分的な回避策を次に示します。
すべてのフォルダーのフォルダービュー設定をリセットするバッチスクリプトを実行します。
レジストリにインポート:
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
にショートカットを作成できます。
参照:
タイルビューのWindows 8デスクトップアイコン(LogicalViewMode
他のビューモード用に構成)
MTP経由で接続されているストレージの既定のフォルダービューを構成します(これにより、すべてのフォルダービューが同じモードに設定されます)
これを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
WindowsエクスプローラーでリストビューをデフォルトのFTPビューとして設定する方法
以下の2つの方法のいずれかを使用して、この問題の簡単な解決策を考え出しました。これは、ネイティブの組み込みのWindowsテクノロジに関する問い合わせに役立つ場合があります。
これがこの問題を解決するために探している実際の解決策になるかどうかはわかりませんが、少なくとも、レジストリ設定を変更したり、サードパーティの解決策を使用したりせずに役立つと考えられる、許容できる回避策である可能性があります。
基本的に、これはsendkeysを使用してCtrl+ Shift+6ショートカットキーを送信し、FTPフォルダービューが開いた直後にビューを[詳細]に変更します。ただし、これは再帰的に適用されないため、特定のニーズに影響を与える場合とそうでない場合があります。
これは、(1)以下のロジックを使用してバッチスクリプトを作成し、(2)バッチスクリプトを指すショートを作成し、その引数を使用してFTPサーバーの該当するFTP接続の詳細を渡す方法で構成されます。接続します。
このメソッド用に作成したこの1つのバッチスクリプトは、このメソッドで使用したいだけの数のショートカットに使用できるため、将来、1つ以上のFTP接続のニーズが増大した場合に備えて、スケーラブルなソリューションになります。
バッチスクリプトを作成する
バッチスクリプトを作成します。これは、以下のロジックを含む.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
ショートカットを作成する
デスクトップで右クリックし、[選択し新 > - ショートカットあなたはあなただけ(上記)作成したバッチスクリプトを保存した値以下にし、プラグをして必ず設定して<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>/"
上記のショートカットプロパティ部分の" 値を二重引用符で囲むことが重要です。
それを使う
あとは、作成したショートカットをダブルクリックして、詳細ビューでFTPフォルダーを開くだけです。これは、先に進むのと同じくらい簡単です。必要に応じて、このショートカットのアイコンを変更することもできます。
この方法は、に似ている方法で1以上が、あなたは仕事にそれのためのショートカットを作成する必要はありませんが、あなたはまだ設定する必要があります<username>
、<password>
、<FTP server URL or IP address>
それに応じてあなたの必要性の値は、FTPサーバのためにあなたがに接続します。
バッチスクリプトを作成する
バッチスクリプトを作成します。これは、以下のロジックを含む.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
それを使う
あとは、作成したバッチスクリプトをダブルクリックして、[ 詳細]ビューでFTPフォルダーを開くだけです。これは、先に進むのと同じくらい簡単です。