Abrindo smb: // links no windows

5

Existe alguma maneira de tornar o Windows (10, de preferência) explorador para abrir o protocolo URI smb? Como smb://1.2.3.4/file.txt

Eu estou em um ambiente diversificado de sistemas operacionais (principalmente windows, mac e linux) e também serviços web que estamos usando (slack, youtrack), mas todos os nossos arquivos estão em um servidor com compartilhamento de samba e é difícil tem links clicáveis que todos podem acessar.

Temos duas opções para unificação:

  1. O caminho do Windows - file://X:/
  2. O caminho do Unix? - smb://1.2.3.4/

Eu descobri que é mais fácil usar os links smb com ferramentas web, o slack os reconhece, mac e linux os abrem bem, é só que as janelas estão se recusando a reconhecer o protocolo, embora o próprio endereço funcione.

    
por Eskel 11.04.2016 / 18:16

3 respostas

6

Obrigado DavidPostill por me apontar na direção certa. Aqui está o que eu fiz:

Arquivo de registro (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\""

Arquivo em lote (openLink.bat):

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

E isso funciona muito bem. :)

    
por 18.04.2016 / 11:23
2

Se seus links SMB contiverem espaços, você poderá usar o seguinte script em lote aprimorado na resposta da 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%
    
por 07.03.2018 / 14:13
0

Por alguma razão, no Windows 10, invocar explorer.exe como detalhado nas outras respostas aqui não funcionou; sempre abriria apenas a localização dos documentos do usuário. Em vez disso, descobri que start "" %str% funcionou.

Para completar, este é o arquivo openLink.bat em que trabalhei, com base na melhoria das oberlies em < a href="https://superuser.com/a/1066769/314402"> a resposta original de 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%

E então este é o arquivo .reg que eu usei:

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

(O que é o mesmo que o original de Eskel, exceto que eu não queria criar outra pasta juntando as listagens na unidade C: então eu simplesmente joguei o arquivo de lote na pasta Windows. Como um bônus, isso coloca isso no Windows $ PATH ou% PATH%, suponho.)

    
por 05.09.2018 / 02:54