Символьная ссылка Windows

Утилита Link Shell Extension

Подобных утилит немало, но мы рассмотрим создание символьной ссылки через Link Shell Extension. Скачать эту бесплатную утилиту можно со страницы сайта разработчиков. Link Shell Extension добавляет в контекстное меню правой кнопки мыши некоторые пункты, позволяя создавать симлинки привычным способом вроде «копировать/вставить» без необходимости запускать командную строку.

Скачиваем, устанавливаем и запускаем Link Shell Extension. Во время установки можно выбрать русский язык. Само окно программы нам не требуется, его можно сразу закрыть, если вам не нужно устанавливать дополнительные настройки.

Использовать утилиту просто. Выбираем папку, для которой нужна ссылка, и щелкаем по ней правой кнопкой мыши — в меню выбираем Запомнить источник ссылки. После этого открываем папку, где нужно эту ссылку вставить, и также делаем клик правой кнопкой, теперь выбираем Поместить как — Символическую ссылку. Готово.

Доброго времени суток! Сегодня рассмотрим интересную тему под названием «Символьные ссылки». Вариантов использования данного инструмента не так уж много. К примеру, если вы используете часть оперативной памяти как RAM-диск, можно перенести какую-либо игру или её часть (скажем папки с графикой) и создать символьную ссылку. Это значительно ускорит загрузку уровней и карт. Также символьные ссылки можно использовать для переноса папки пользователя целиком, но об этом напишу в одной из следующих статей.

Что такое симлинк?

Итак, что такое символьная ссылка или симлинк? Для начала процитирую Википедию:

Символьная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).

Итак, это файл, который содержит в себе только ссылку на другой файл или каталог, ничего больше. Система же при обращении к этому файлу ведет себя точно так же, как если бы это был файл(папка), на который ссылается символьная ссылка. Что на самом деле является очень удобным. К примеру,на рабочем столе можно создать ряд символьных ссылок на часто используемые папки, и копирование файлов в эти папки окажется секундным делом. Теперь попробуем создать символьную ссылку для произвольной папки.

Инструкция по созданию символьной ссылки

1) Создаем (или копируем) папку в нужном нам месте. В моем случае я создам папку mkfolder на локальном диске D :

2) Открываем командную строку, для этого жмём Win+R и в открывшемся окне пишем cmd:

3) В открывшемся окне командной строки нам необходимо создать символьную ссылку для нашей папки. Делается это с помощью команды mklink. В моем случае я пишу так, создавая в корне диска С папку с именем mklink, которая будет ссылать на папку D:\mkfolder :

mklink /j «c:\mklink» «d:\mkfolder»

где, mklink — команда создания символьной ссылки

/j — атрибут создания соединения для каталога

c:\mklink — место создания файла с символьной ссылкой / имя новой символьной ссылки

d:\mkfolder — Путь, на который ссылается символьная ссылка

4) Жмём клавишу Enter, и, если всё введено правильно, командный интерпретатор Windows сообщит о создании соединения:

5) Пройдем на диск C и посмотрим на созданную символьную ссылку:

6) Главное её отличие от обычного ярлыка в том, что если зайти в папку mklink, система будет считать, что вы находитесь именно на диске C в папке mklink, но на самом деле вы будете видеть и работать с файлами, которые находятся на диске D в папке mkfolder:

Другие свойства объекта window

  • frames — представляет из себя массив, содержащий объекты window, каждый из которых отвечает за вложенный в это окно фрейм. Как при работе с фреймами, здесь есть общее окно window, которое обладает некоторыми свойствами (например, перемещать окна-фреймы, менять их размеры и ориентацию, закрывать окно). Рассмотрим свойства объекта window внутри frames:
  • Свойства, отвечающие за ссылки на другие объекты window: top, parent, opener, self.
  1. Top – получаем ссылку на главное окно браузера.
  2. Parent — это ссылка на родителя этого фрейма.
  3. Self — ‘зацикленная ссылка’ (window.self == window), не имеет никакого смысла.
  4. Opener — указывает на объект window, на то окно, которое открыло данное (например, у вас было одно окно, вы открыли другое. Тогда opener будет указывать на объект window предыдущего окна).

  • Свойства, отвечающие за состояние самого окна.
    1. Closed – свойство типа boolean (true, false). Показывает закрыто окно или нет. Помните, что при закрытии окна объект window не уничтожается, поэтому и допустимо значение true (т.е. окно закрыто, но объект window продолжает существовать).
    2. DefaultStatus, Status — отвечают за статусную строку браузера. Можно получить, что там написано, или написать что-то. Сейчас не советую менять статусную строку. Пример (выведет дату и время в статусной строке):

function DefaultStatus(){ var d=new Date(); //создали объект windows.defaultStatus=d.toLocaleString(); //преобразуем в строку defaultStatus=d.toLocaleString();} //можно так без window

  1. Name — внутреннее имя окна. Предназначено только для разработчиков, пользователь его не видит.
  2. ReturnValue — предназначено для обмена информацией между окнами. Например, одно окно открывает другое, в другом окне пользователь что-то делает, нажимает кнопку; и нужно передать информацию из одного окна в другое. Окна могут взаимодействовать между собой через объекты window.

Методы объекта window

  • Методы ввода-вывода информации
    1. alert () — выводит окно. В браузере Mozilla alert появляется в центре окна, а в IE — в центре экрана, вне зависимости где находится окно.

function Alert(){ alert(«hello»);}

    1. confirm () — выводит окно с вопросом: ‘да’ или ‘нет’ (‘ok’ и ‘chancel’). Возвращает соответственно true или false.

var a=confirm(«This is a cat?»); alert(a);

    1. prompt () — выводит информацию на страницу.

var a=prompt(«подсказка», «default»); alert(a);

  • Открытие — закрытие — печать окон.
    1. open () — можно из одного окна открыть другое окно. Его параметры: адрес страницы, которую надо открыть; внутренне имя окна, которое хотите ему присвоить; набор свойств открываемого окна (location, width, height, menubar, toolbar, scrollbars).

open(«http://phpmove.ru»); //можно с одним параметром open(«http://phpmove.ru»,»site»,»width=150″); //можно с 3 параметрами

    1. close () — закрывает окно. Без параметров. При закрытии выскакивает предупреждение браузера из соображений безопасности.

close();

  1. print () — имитирует нажатие кнопки ‘печать’. Выскакивает окно выбора принтера и предложение распечатать текущий документ. Без параметров.
  2. focus () — передать фокус окну, т.е. выводит окно на передний план. Без параметров.
  3. blur () — убрать фокус у окна, уводит окна браузера на задний план, под все открытые окна. Без параметров.
  • Методы для управления открытым окном — положение и размеры окна.
    1. moveTo (), moveBy () — двигает окно на экране в заданные координаты (указываются координаты левого верхнего угла); смещение относительно левого верхнего угла.

moveTo(10,20); mobeBy(10,20); //смещение относительно текущего левого верхнего угла

    1. resizeTo (), resizeBy () — задает размер окна; увеличивает размер окна на указанное число пикселей по горизонтали и вертикали.

resizeTo(500,500); //задает размер окна resizeBy(10,20); //увеличивает размер окна

    1. scrollTo (), scrollBy () — прокручивает содержимое окна. 1-й параметр — прокрутка слева направо, 2 — сверху-вниз. scrollBy — прокручивает на указанное число пикселей относительно текущего положения. Данные методы используются редко, т.к. здесь для прокрутки используются пиксели, а сама страница может масштабироваться по процентам, и тогда получится некрасиво.

scrollTo(10,20); //просто прокрутка scrollBy(11,12); //относительно текущего положения