
Windows共有にアクセスし、'のフォルダアイコン'セクション(一番下)が欠落しています設定で。ローカル フォルダーに適切に表示されます。両方で使用したいです。
アイコン設定が強調表示されたフォルダプロパティウィンドウ
答え1
アイコンをカスタマイズするには、desktop.ini ファイルを使用します。通常、上記の「アイコンの変更」ボタンを使用するときに実際に行うのはこれだけです。完全なドキュメントについては、以下を参照してください。desktop.ini でフォルダをカスタマイズする方法 desktop.ini ファイルの例を次に示します。
[DeleteOnCopy]
Owner=MyUser
Personalized=13
PersonalizedName=My Folder
[.ShellClassInfo]
[email protected],-12689
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-237
余談ですが、手動で desktop.ini を作成せずにこれを行うには、ローカルにフォルダーを作成し、必要な設定を適用して、その desktop.ini を盗用します。(フォルダーが表示されない場合は、フォルダー全体をコピーします。元々正しい名前になっているはずです。) YouTube ビデオネットワークドライブ上のフォルダにアイコンを適用するこのプロセスを示しますが、新しいフォルダーを作成するのではなく、フォルダーの移動を使用します。
答え2
こんなにたくさんの牛を見たのは久しぶりです :)
右クリック --> プロパティ --> カスタマイズ ---> アイコンの変更は、SMB 共有では使用できません。
... ---> 画像を変更しても効果はありません。
Linux は (フォルダーの)「読み取り専用」ビットを異なる方法で解釈し、それを Windows に誤って報告するため、Desktop.ini は SMB 共有の Windows によって処理されません。
- Linux では、読み取り専用は読み取り専用を意味します。
- Windows では、読み取り専用 (フォルダーのみ) は Desktop.ini を処理することを意味します。
「読み取り専用」ではなく「システム」(超隠し) フラグを使用して Desktop.ini の処理を強制するレジストリ設定があるはずですが、期待どおりに動作したことがありません。
SMB での desktop.ini 処理の欠如は、フォルダ アイコンだけでなく、他の多くのものにも影響を及ぼします。シンボリック リンクやパーソナライズされた名前空間も機能しません。Microsoft の怠け者たちは、Windows NT にまで遡って、この問題に対処することを拒否しています。
もちろん、SMB フォルダーにアクセスするための間接リンクを作成し、代わりにカスタム アイコンを指定することは常に可能ですが、これにより、次のような他のさまざまな問題が発生します。
- ショートカット リンクは、親フォルダーを開いたときに Windows でデフォルトで評価され、キャッシュされます。そのため、フォルダーに低速または休止状態のネットワーク共有へのショートカットが含まれている場合、エクスプローラーで「大幅な」遅延が発生します。
- Windows のショートカットは相対的ではなく絶対的であるため、移植性がありません。これにより、ターゲットのルート パスが変更された場合に多くのメンテナンスが必要になります。また、Windows には環境変数を絶対リンクに自動的に変換する癖があり、これを回避しようとする試みは失敗します。
- 彼らの愚かな「分散リンク追跡クライアント」サービスは、事態をさらに悪化させます。
Windows で相対リンクを実装する最良の方法は、VBS スクリプトを使用することです。ネイティブ (テキスト) 形式では、VBS スクリプトにはカスタム アイコンがありませんが、コンパイルすると EXE ファイルにカスタム アイコンを割り当てることができます。
ただし、これは非常に手間のかかる作業であり、スクリプトがローカルであるか、署名する方法が見つからない限り、ネットワークから起動するたびにスクリプトによって「信頼できない」警告メッセージが作成されます。
VBS Relative Link example:
============================
' This is a VB Script, which emulates a RELATIVE file link/shortcut in Win XP
'
' 1) The first line declares an untyped variable ==> objshell
'
' 2) The second line instantiates a new object derived from ==> Shell.Application
'
' 3) The third line invokes the object's method ==> ShellExecute
'
' with the following parametters: "target path"
' "target's arguments"
' "starting directory"
' "action verb"
' Initial window mode: 0 = Hidden Window
' 1 = Normal Window
' 2 = Minimized
' 3 = Maximized
' 4 = Most recent size and position, keep active window active
' 5 = Current size and position
' 6 =
' 7 = Minimized, keep active window active
' 10 = Default state specified by target application
'
' 4) The last line frees/destroys the shell object
'
'
dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute _
"..\..\..\SomePath_Three_Dirs_UP_etc" ,_
"" ,_
"" ,_
"open" ,_
1
set objShell = nothing
===============================================================
答え3
ssnobodyが概説したカスタマイズ方法は、リモートマシン上のフォルダを変更できることを前提としています。そしてフォルダのすべてのリモート ユーザーとローカル ユーザーに対して外観を変更することを指定します。これらのいずれも当てはまらない場合は、次の代替策を使用できます。リモート フォルダへのローカル ショートカットを作成し (たとえば、右クリックしてローカル デスクトップにドラッグし、[ショートカットの作成] を選択)、プロパティ ダイアログの通常の [アイコンの変更] ボタンを使用してショートカットのアイコンを変更します。
答え4
回避策としては、画像ファイルの名前を「folder.jpg」に変更し、共有フォルダに配置します。
アクセス権を持ち、エクスプローラーの「アイコン」または「タイル」ビューを使用しているすべてのユーザーがそれを見ることができます。