Как отрыть папку Windows из браузера

windows web   2879  

Этот метод хоть и небезопасен, но работает и подойдет для внутрисетевых корпоративных порталов / CRM.

В HTML-коде это будет выглядеть как-то так:

<a href="myproto://C:/My Folder/123">открыть папку</a>

Также из JavaScript:

window.open('myproto://C:/My Folder/123');

Чтобы все это начало работать, необходимо сделать протокол, который будет обрабатывать url.

Для этого в любом месте (хоть на рабочем столе) создаём файл с расширением .reg (например, myproto.reg) и следующим содержимым:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\myproto] 
"URL Protocol"="
" @="URL:Myproto Protocol" 

[HKEY_CLASSES_ROOT\myproto\shell] 

[HKEY_CLASSES_ROOT\myproto\shell\open] 

[HKEY_CLASSES_ROOT\myproto\shell\open\command] 

@="\"C:\\myproto.bat\" \"%1\""

Здесь myproto — название созданного протокола. Можете изменить на своё (но не используйте стандартные названия протоколов типа http, ftp, mailto и прочие).

Запускаем файл. Винда выдаст несколько вопросов и предупреждений, со всеми соглашаемся. Всё, больше этот файл на этом компьютере не нужен, можно удалять.

Далее в корне диска C: необходимо создать файл myproto.bat со следующим содержимым:

@echo off 
set "path=%~1" 
setlocal enabledelayedexpansion 
set path=%path:myproto://=% 
set path=%path:"=% 
set path=%path:/=\% 
set path=!path:%%20= ! 
set path=!path:%%5C=\! 
C:\Windows\explorer.exe "%path%"

Всё готово. Теперь вы можете прямо из браузера (абсолютно любого) на данном компьютере открывать папки в проводнике в отдельном окне, просто открыв ссылку вида myproto://C:/My Folder/123.

К сожалению, данные действия придётся проделать на всех компьютерах, где необходима такая функциональность. 

Источник: https://habr.com/ru/sandbox/114238/


Поиск

Метки