web-dev-qa-db-ja.com

Windowsでsmb://リンクを開く

Windows(10を推奨)エクスプローラーでsmbプロトコルURIを開く方法はありますか?お気に入り smb://1.2.3.4/file.txt

私はオペレーティングシステム(主にWindows、Mac、Linux)と私たちが使用しているWebサービス(slack、youtrack)の多様な環境にいますが、すべてのファイルはsamba共有のサーバー上にあり、クリック可能なリンクを見つけるのは難しいですすべてがアクセスできます。

統合には2つのオプションがあります。

  1. Windowsの方法-file://X:/
  2. Unixの方法は? -smb://1.2.3.4/

Webツールでsmbリンクを使用する方が簡単であることがわかりました。slackはそれらを認識し、macとlinuxはそれらを正常に開きます。アドレス自体は機能しますが、ウィンドウがプロトコルを認識することを拒否しているだけです。

11
Eskel

私を正しい方向に向けてくれたDavidPostillに感謝します。これが私がしたことです:

レジストリファイル(smb.reg):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\smb]
"URL Protocol"=""
@="URL:SMB Protocol"

[HKEY_CLASSES_ROOT\smb\DefaultIcon]
@="Explorer.exe,1"

[HKEY_CLASSES_ROOT\smb\Shell]
[HKEY_CLASSES_ROOT\smb\Shell\open]
[HKEY_CLASSES_ROOT\smb\Shell\open\command]
@="\"C:\\OpenLink\\openLink.bat\" \"%1\""

バッチファイル(openLink.bat):

@echo off
set str=%1
set str=%str:smb:=%
set str=%str:/=\%
Explorer.exe %str%

そしてそれは素晴らしい働きをします。 :)

11
Eskel

SMBリンクにスペースが含まれている場合、Eskelの回答で次の改善されたバッチスクリプトを使用できます。

@echo off

set str=%1
set str=%str:smb:=%
set str=%str:/=\%

setlocal EnableDelayedExpansion
set str=!str:%%20= !

rem echo %str% & pause

Explorer.exe %str%
4
oberlies

何らかの理由で、Windows 10ではExplorer.exe他の回答で詳しく説明されているとおり、ここでは機能しませんでした。常にユーザーのドキュメントの場所を開くだけです。代わりに、私はstart "" %str%機能しました。

完全を期すため、これはopenLink.batファイル oberliesの改善 に基づいて動作しました Eskelの元の回答

@echo off

set str=%1
set str=%str:smb:=%
set str=%str:/=\%

setlocal EnableDelayedExpansion
set str=!str:%%20= !

rem echo %str% & pause
start "" %str%

そして、これは私が使用した.regファイルです:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\smb]
"URL Protocol"=""
@="URL:SMB Protocol"

[HKEY_CLASSES_ROOT\smb\DefaultIcon]
@="Explorer.exe,1"

[HKEY_CLASSES_ROOT\smb\Shell]
[HKEY_CLASSES_ROOT\smb\Shell\open]
[HKEY_CLASSES_ROOT\smb\Shell\open\command]
@="\"C:\\Windows\\openLink.bat\" \"%1\""

(これはEskelのオリジナルと同じですが、C:ドライブのリストをジャンクする別のフォルダーを作成したくなかったので、バッチファイルをWindowsフォルダーに放り込みました。おまけとして、これによりWindowsに配置されます$ PATH、または%PATH%と思います。)

1
keithzg

windows(上記のいずれかのWebブラウザー)で呼び出すURLは次のとおりです。

file://///IP/Share

(IPはIPアドレスまたはホスト、共有は有効ですSMB共有、匿名または認証を介してアクセス可能)

1
Edu