Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создать ярлык (http://forum.oszone.net/showthread.php?t=351551)

VladoSer 16-07-2022 10:36 2988650

Создать ярлык
 
Приветствую, имеется .bat файл, необходимо при запуске этого самого .bat создать ярлык на него же самого на рабочем столе и задать этому ярлыку иконку.
Путь где может находится батник не точный, т.е на одном компе он может быть в корне диска C, на другом в корне диска E, например.
Суть в том, чтобы получить путь к нему и создать на него ярлык на раб. столе
Приветствуются любые способы, ps, vbs и тд.

Elven 16-07-2022 10:50 2988652

Если совсем в лоб и на cmd
Код:

mklink "%userprofile%\Desktop\%~nx0" "%~f0"
не проверял, cmd под рукой нет.

VladoSer 16-07-2022 10:54 2988654

Вложений: 1
Цитата:

Цитата Elven
mklink "%userprofile%\Desktop\%~nx0" "%~f0" »

Создаю .bat на рабочем столе, кликаю по нему, результат такой:
Файл 166953

DJ Mogarych 16-07-2022 12:09 2988664

Цитата:

Цитата VladoSer
на одном компе он может быть в корне диска C, на другом в корне диска E »

Диск системный? Используйте переменные типа %SYSTEMDRIVE%.

Если компы доменные, то лучше использовать GPO. Там тоже можно использовать переменные, список, насколько я помню, вызывается по F3, есть условия и вообще удобно.

В CMD и в Powershell нет удобного встроенного способа создания ярлыков. Надо либо писать не очень изящную конструкцию в случае с Powershell, либо привлекать сторонние программы типа Nircmd.

wasp14 16-07-2022 12:29 2988666

А в чём глубинный смысл этого :dont-know
Код:

@echo off
chcp 65001
mklink "%userprofile%\Desktop\%~nx0" "%~dpnx0"
pause
exit


DJ Mogarych 16-07-2022 12:33 2988668

Символьная ссылка - это не ярлык.

wasp14 16-07-2022 12:37 2988669

DJ Mogarych, Уиндовс с тобой несогласен. mklink без ключей, делает вполне-себе обычные ярлыки.
а, ну да... ошибся я. Постоянно TC и кнопка с NTFSlinks(если нужно много за раз сделать), всё перепуталось. ибо разницы для мя нету никакой.
Но так-то да, это не "тот самый ярлык" будет.

Вот, вроде бы пример как: Создаем ярлык через командную строку
Но вообще, смысл сего действия я совершенно непонимаю, бестолковое в сути своей.

VladoSer 16-07-2022 12:52 2988672

Цитата:

Цитата wasp14
Но вообще, смысл сего действия я совершенно непонимаю, бестолковое в сути своей »

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

wasp14 16-07-2022 13:11 2988674

Вложений: 1
Цитата:

Цитата VladoSer
BAT находится далеко в подпапках, и каждый раз его запускать неудобно, п »

ну, в этом случае, ЕЯПП и батнег твой лежит у тебя на флешке, то возьми лучше это Создаем ярлык через командную строку
Скрытый текст

[i]В составе пакета Resource Kit для Windows Server предоставляется утилита SHORTCUT.EXE, которая используется для создания файлов с расширением .LNK. ..........


А еще лучше из UnixUtils "mkshortcut.exe" Положи раядо с батнегом и делай что хочешь, полноценный инструмент для ярлыков.

VladoSer 16-07-2022 14:12 2988681

Вопрос решен, всем спасибо, прошу удалить/закрыть тему.


Время: 23:50.

Время: 23:50.
© OSzone.net 2001-