Тема: Jscript: Ссылки на FTP-ресурсы
Захотелось как то мне на работе сделать простой обмен файлами, но простое расшаривание папки мне не нравится, ибо стоят на всех компах Windows XP Home, которые не умеют задавать пароли. Поэтому решил я все завязать на FTP, с помощью freeFTPd. Что бы пользователи не парились со всякими там клиентами, каждому на рабочий стол решено было вывести ярлыки, которые бы поддерживали бы перетаскивание, и избавили бы от необходимости вводить пароли.
Когда начал создавать ярлыки, столкнулся с проблемой.
Если создавать ярлык через мастер создания ярлыка (контекстное меню -> создать ярлык), то при вписывании 'ftp://...', вместо ссылки на файл, создается не '.lnk' файл, а '.url', который является просто сслылкой и если его запустить, откроется IE и полезет по адресу.
Начал я экспериментировать дальше, нашел 2 решения проблемы.
1. Создаем ярлык на совершенно любой файл. Если просто открыть свойства этого ярлыка и в поле 'Объект' ввести 'ftp://...', то при попытке сохранить файл, винда будет ругаться благим матом. Пошел я в интернет искать программы для работы с ярлыками. Нашел LinkInfo v1.51. Открываем этой прогой ярлык, вписываем адрес ftp, причем сразу с указанием пароля, вот так вот: 'ftp://login:password@192.168.1.1', сохраняем, и все. Получаем полностью функциональный ярлык.
Правда если открыть этот ярлык повторно с помощью вышеупомянутой программы, то ожидает неприятный сюрприз - в поле 'объект', красуется не полная запись которую вбивали, а ее огрызок, в данном примере: '192.168.1.1'
2. Ярлык можно создать с помощью WSH, я использовал JScript:
// Создание ярлыка программы
sFTP = '192.168.1.42';
sPass = 'password';
sLogin = 'login';
wsh = new ActiveXObject("WScript.Shell");
Shortcut = wsh.CreateShortcut('link_for_'+sFTP+'.lnk');
Shortcut.TargetPath = 'ftp://'+sLogin+':'+sPass+'@'+sFTP;
Shortcut.IconLocation = 'msieftp.dll, 1';
Shortcut.Save();Вот такая вот хитрость.
Может я все усложняю и в винде есть таки средства, для создания таких вот ярлыков?
PS, если кому будет нужна LinkInfo, то вот тут лежит чуть более свежая версия v1.52, так же пашет как плагин к Total Commander-у

