PDA

Показать полную графическую версию : [решено] Как добавить на рабочий стол ярлык с параметрами?


Страниц : [1] 2

dendra
27-09-2005, 20:05
Создание ярлыков при установке ОС (http://oszone.net/6161)

boss911
27-09-2005, 23:24
dendra

При создании ярлыка в SFX архиве, просто после того обьекта для которого будет создаватса ярлык, дописуеш нужный тебе параметр! Вот пример как это сделано у меня и все работатет:
Shortcut=P, "r_server.exe" /start, "Remote Administrator", "", "Запуск Remote Administrator"

dendra
28-09-2005, 00:46
Только не в моём случае. Вот параметр: /I=".\Profiles\Prof\main.ini" /F=".\Profiles\Prof\ftp.ini"

Создаем sfx архив с таким параметром:
Shortcut=D, "totalcmd.exe" "/I="".\Profiles\Prof\main.ini"" /F="".\Profiles\Prof\ftp.ini""", "", "Total_XP", "Total_XP"

получаем ярлык с таким содержимым поля "объект":
"C:\Program Files\totalcmd.exe \I="\Profiles\Prof\main.ini" \F="\Profiles\Prof\ftp.ini""

Мало того что рар с какого-то перепугу меняет правый слэш(/I) на левый(\I), так он ещё заключает всю строку в кавычки и в поле "рабочая папка" пишет:
"c:\Program Files\totalcmd.exe \I="\Profiles\Prof\main.ini" \F="\Profiles\Prof"

Вобщем тяжёлый случай. В принципе устроило бы и простое копирование готового ярлыка на рабочий стол, только КАК это сделать средствами rar.sfx? Видимо придётся положить ярлык в $OEM$\$Docs\All Users\Desktop\. Другого способа пока не вижу. Только некрасиво это как-то.

Vadikan
28-09-2005, 04:21
dendra
Так положите готовый ярлык в SFX, а по окончании распаковки запустите пакетный файл, который скопирует ярлык. http://oszone.net/display.php?id=3171#winrar 3й скриншот

dendra
28-09-2005, 13:53
Уважаемый Vadikan, благодарю, всё получилось.

Если кто-нибудь столкнётся с подобной проблемой, вот её решение.

1. Создаём ярлык (xxx.lnk) и прописываем в него необходимые параметры запуска программы;

2. Создаём пакетный файл (copy.cmd) следующего содержания:
---
copy "xxx.lnk" "%ALLUSERSPROFILE%\Рабочий стол\*.*"
---
Примечание: файл copy.cmd должен быть сохранён в oem/dos кодировке.
Если Windows английский, вместо \Рабочий стол\ пишем \Desktop\

3. Копируем файлы xxx.lnk и copy.cmd в папку с программой, создаём rar.sfx архив с необходимыми параметрами, в том числе со строчкой: copy.cmd в закладке "Общие" в поле "Выполнить после распаковки".
\\\
Излишне подробно получилось, но мало ли...

dendra
28-10-2005, 13:21
Вышеупомянутый способ неудобен, если устанавливать программу на разноязычные версии Windows. Приходится менять в cmd файле "Desktop" на "Рабочий стол" или наоборот. В связи с этим, вопрос: есть ли универсальная переменная для рабочего стола? Типа %systemdrive% для системного диска?

Vadikan
29-10-2005, 00:35
dendraесть ли универсальная переменная для рабочего стола? Типа %systemdrive% для системного диска?
%userprofile%\desktop
%allusersprofile%\desktop

dendra
29-10-2005, 15:44
К сожалению, этот способ не подходит для Русского дистрибутива Windows. При попытке исполнения команды:

copy "totalcmd.lnk" "%ALLUSERSPROFILE%\desktop\Total Commander XP.lnk"

получаем сообщение:

c:\Program Files\Total Commander XP>copy "totalcmd.lnk" "C:\Documents and Settings\All Users\desktop\Total Commander XP.lnk"
Системе не удается найти указанный путь.
Скопировано файлов: 0.

Но, если вместо \desktop\ написать \рабочий стол\ - скопируется.

Может быть есть возможность создать переменную %desktop% самостоятельно и присвоить ей значения "desktop" и "рабочий стол"?

Vadikan
30-10-2005, 01:51
Ну сделайте пакетный файл типа
IF EXIST %ALLUSERSPROFILE%\Desktop" xcopy -y "totalcmd.lnk" "%ALLUSERSPROFILE%\Desktop\Total Commander XP.lnk"
GOTO END
IF EXIST %ALLUSERSPROFILE%\Рабочий Стол" xcopy -y "totalcmd.lnk" "%ALLUSERSPROFILE%\Рабочий Стол\Total Commander XP.lnk"
exit

dendra
30-10-2005, 22:01
Ну сделайте пакетный файл типа
:) Уговорили.
Все работает, благодарю.

Oleg_Sch
31-10-2005, 03:13
Если на WinRAR'е свет клином не сошелся - может попробовать мой модуль для 7-Zip'a http://forum.oszone.net/showthread.php?t=51547
Только что попробовал такую комбинацию:
Shortcut="D, {totalcmd.exe}, {/I=\".\Profiles\Prof\main.ini\" /F=\".\Profiles\Prof\ftp.ini\"}, {}, {Total_XP}, {Total_XP}"
Параметры прописались нормально

dendra
31-10-2005, 12:13
В свете такого отличного sfx модуля для 7zip, WinRAR клином вышибается из моей системы. Собственно WinRAR и держался только из-за возможности создавать более-менее продвинутые sfx архивы. Олег, большое спасибо за Вашу работу!

EasyFrag
15-04-2006, 16:35
Для создания ярлыков (и много еще для чего) удобна программа nircmd. В ней испльзуются переменные на подобии системных, так что отпадает необходимость угадывать где у нас рабочий стол (в "Desktop" или в "Рабочий стол").
К сожалению ссылку на саму прогу потерял. Нашел ее (прогу) вроде на этом форуме.

Если кому надо, могу выложить.

Vadikan
16-04-2006, 00:26
EasyFrag
Это уже было. Я добавил ссылки в первый пост.

4zz
15-01-2007, 07:17
Vadikan
Ну сделайте пакетный файл типа

Код:
IF EXIST %ALLUSERSPROFILE%\Desktop" xcopy -y "totalcmd.lnk" "%ALLUSERSPROFILE%\Desktop\Total Commander XP.lnk"
GOTO END
IF EXIST %ALLUSERSPROFILE%\Рабочий Стол" xcopy -y "totalcmd.lnk" "%ALLUSERSPROFILE%\Рабочий Стол\Total Commander XP.lnk"
exit
Спасибо за помощь,но вот в чем вопрос-ярлыков у меня много-получается
столько команд...
У меня есть идея-посоветуйте насколько она верна-
1.Создаю SFX архив со всеми ярлыками,обзываю его LINK и указываю путь %userprofile%\Рабочий стол\
2.Создаю SFX архив со всеми ярлыками,обзываю его LINKS и указываю путь %userprofile%\Desktop\
3.Создаю пакетный файл типа
IF EXIST %ALLUSERSPROFILE%\Desktop" RUN LINKS.exe"
GOTO END
IF EXIST %ALLUSERSPROFILE%\Рабочий Стол" RUN LINK.exe"
exit
Дальше прошу помощи потому,что ничего не получается ... :)

zuckij
15-01-2007, 09:00
Я тут почитал, и не понял для чего создавать пакетный файл, РАР и так всё хорошо делает и на русской, и на не русской создаёт ярлыки: ;Расположенный ниже комментарий содержит команды SFX-сценария
Path=Total Commander
Silent=1
Overwrite=1
Shortcut=D, "Totalcmd.exe", "", "Totalcmd.exe", "Total Commander" Shortcut=T, "Totalcmd.exe", "", "Totalcmd.exe", "Total Commander" Мне нужно было чтоб он загружался автоматически, и на столе. Для этого добавляем в архив файлы, создаём SFX во вкладке дополнительно выбираем где поместить ярлыки, путь для распаковки пишим имя папки в которую будет распакована программа галочку ставим создать в Program Files, и всё.
PS. т.к. долго не кто не брался делать с ним аддон, для UpdPack-XPSP2, сделал следующее архив в архиве, не граммотно зато работает и ставит командера с моими настройками. полученый SFX запаковываю опять в SFX и ещё рег файлик, cmdow.exe и батник который выполнит то что мне надо. Путь для распаковки временная папка, скрыть всё, выполнить run.bat батник:cmdow @ /HID
@echo off
SET=%~dp0
SET=%wdir:~0,-1%
regedit.exe /S Ghisler.reg
echo.
start /wait Tcmd.exe
echo.
exit И тихо так без шума, без пыли он становится на Т-13. Непосредствено в самой программе заложено, создания ярлыков аж 4-х штук в разных местах

4zz
24-01-2007, 12:19
Вопрос был,вобщем то,вот в чем-
Я коллекционирую понравившиеся мне программы,которые работают без инсталяции(т.е сначала инсталлируются потом я забираю папку проги из Program Files). Создал в Program Files папку «BEZINSTALA» и бросаю туда мои любимые проги,создав для прог ярлыки с универсальными путями (%systemdrive%\Program Files\...) на рабочем столе.
Само собой папку «BEZINSTALA» я храню,на случай краха, для себя на флешке.
Так вот при установке ,например через WPI,создал SFX архив который распаковывается в Program Files\ BEZINSTALA, ну и осталось положить ярлыки на рабочий стол(готовые, целая куча),мне легче их туда просто распаковать.Я использовал совет VADIKANа- создал cmd :
IF EXIST "%ALLUSERSPROFILE%\Desktop" xcopy "LINK\*.*" "%ALLUSER-SPROFILE%\Desktop"
GOTO END
IF EXIST "%ALLUSERSPROFILE%\Рабочий Стол" xcopy "LINK\*.*" "%ALLUSERSPROFILE%\Рабочий Стол"
Exit

Только он (VADIKAN)пропустил первые кавычки, а я глупо скопировал, потому и мучился ;)

Теперь готовые ярлыки копируются из папки "LINK" на рабочий стол в любом случае независимо как он обзывается :)
Еще-некоторые ярлыки я разбил на группы-папки (украсив или обозначив их разными иконками(программа Folderico)) и поместил их в соответсвующие папки в папке "LINK",само собой после распаковки я имею готовый,упорядоченый,красивый вариант :)
Кстати!Многие программы которые обсуждаются здесь(в автоматической установке)я использую именно без инстала.Прикрепляю файл со списком своих прог.И файлы с рисунками стола

zuckij
24-01-2007, 18:01
4zz вопрос стоял как добавить ярлык, вот тебе и отвечали как добавить не кучу а один. И докопались бы до истины значительно раньше

4zz
05-02-2007, 11:21
zuckij
И докопались бы до истины значительно раньше
ПРОШУ помощи!
Я был не прав:

IF EXIST "%ALLUSERSPROFILE%\Desktop" xcopy "LINK\*.*" "%ALLUSERSPROFILE%\Desktop"
GOTO END
IF EXIST "%ALLUSERSPROFILE%\Рабочий Стол" xcopy "LINK\*.*" "%ALLUSERSPROFILE%\Рабочий Стол"
Exit

Не едет!Я проверял на английской версии и все было ОК,но вот вчера поставил русскую и глухо как в танке,подскажите где ошибка :(

Vadikan
05-02-2007, 23:48
4zz
FAQ (http://oszone.net/2774#q8) конечно читали уже, да?




© OSzone.net 2001-2012