пятница, 21 октября 2011 г.

Утилитка mklink

Гениальность разработчиков утилиты mklink просто таки зашкаливает, и похоже случилось переполнение...

После линукса я стал чаще пользоваться симлинками в винде. Оно и понятно - удобно же. Но вот способ работы с ними вполне можно назвать "per anus ad astra". Во первых из гуя их создавать нельзя, но тут понятно - домохозяйки такие домохозяйки, поломают ещё.

Но, есть замечательная утилита mklink. По всей видимости была она написана дауном, поскольку в наборе ключиков имеет замечательную опцию "/D Creates a directory symbolic link." Ну, то есть разработчику было влом проверять, что ему подали первым аргументом - файл или директорию, пущай клиент разбирается.

Всё ещё непонятно, в чём гениальность? Ну как-же, как-же. Что-бы создавать линки я добавил в фаре 2 пункта меню. Один для директорий, другой для файлов, различаются только наличием и отсутствием этого долбаного ключика.

6 комментариев:

Юрий комментирует...

Подскажите пожалуйста, в чем удобство использования таких фич. На каком нибудь примере. Зачем создавать линки, если можно зайти по исходному пути? Заранее спасибо.

Сергей Азаркевич комментирует...

Я использую линки для:

1. Переноса редко используемых данных с SSD винчестера. Сам винчестер не большой, а например винда хранит в своей папке 20 гигов каких-то инсталов. Я их перенёс на дешёвый винчестер и сделал ссылку в директории windows. Таким образом я перенёс и некоторые редкоиспользуемые программы из Program Files

2. Для отладки приложения. Если вы не программист, вам это вряд ли понадобится.
Суть в том, что можно сделать ссылку из директории куда компилируется компонент в место, где он используется. Таким образом не нужно подкладывать компоненту каждый раз после сборки.

3. Некоторые приложения установлены на диске D, но удобнее их использовать с C. Делаю симлинк. Собственно, почти тоже самое что и п.1

4. У меня есть ряд приложений, написанных мной самим. Скомпилированы они в обычное место, и собраны все вместе в c:\bin с помощью ссылок. При перекомпиляции они автоматически обновляются. И в PATH прописывать нужно только один путь.

Юрий комментирует...

спасибо!
можете еще для FAR-a выложить меню?

Сергей Азаркевич комментирует...

: File symlink
mklink "!#!\!^!.!" "!^!\!.!"
: Directory link
mklink /D "!#!\!^!.!" "!^!\!.!"

hrenov-drummer комментирует...

FAR же сам умеет делать симлинки, с версии 1.7, по-моему. Alt-F6.

Сергей Азаркевич комментирует...

Умеет. Но мне часто бывает нужно создавать линки, а через Alt-F6 это чуть дольше и менее удобно.

Идеально было бы написать макрос, но пока лень разбираться.